系统的BottomNavigationBar实现
import 'package:flutter/material.dart';import 'package:micro_course/ui/CourseScreen.dart';import 'package:micro_course/ui/MineScreen.dart';import 'package:micro_course/ui/StudyScreen.dart';class BottomNavigationWidget extends StatefulWidget{@overrideBottomNavigationWidgetState createState() {// TODO: implement createStatereturn BottomNavigationWidgetState();}}class BottomNavigationWidgetState extends State<BottomNavigationWidget>{final _bottomNavigationColor = Colors.blue;int _currentIndex = 0;List<Widget> list = List();@overridevoid initState() {list..add(CourseScreen())..add(StudyScreen())..add(MineScreen());super.initState();}@overrideWidget build(BuildContext context) {// TODO: implement buildreturn Scaffold(body: list[_currentIndex],bottomNavigationBar: BottomNavigationBar(items: [BottomNavigationBarItem(icon: Icon(Icons.home,color: _bottomNavigationColor,),title: Text('Home',style: TextStyle(color: _bottomNavigationColor),)),BottomNavigationBarItem(icon: Icon(Icons.email,color: _bottomNavigationColor,),title: Text('Email',style: TextStyle(color: _bottomNavigationColor),)),BottomNavigationBarItem(icon: Icon(Icons.pages,color: _bottomNavigationColor,),title: Text('Airplay',style: TextStyle(color: _bottomNavigationColor),)),],currentIndex: _currentIndex,onTap: (int index){setState(() {_currentIndex = index;});},type: BottomNavigationBarType.shifting,),);}}
效果: