Flutter 颤振:所有页面上的弧形底部导航栏,从主页开始
我有一个弯曲的底部导航栏,我想开始在主屏幕上。之后会转到本页,但我希望从这里开始。我还需要在所有屏幕上显示导航栏。我如何解决这两个问题Flutter 颤振:所有页面上的弧形底部导航栏,从主页开始,flutter,navigation,Flutter,Navigation,我有一个弯曲的底部导航栏,我想开始在主屏幕上。之后会转到本页,但我希望从这里开始。我还需要在所有屏幕上显示导航栏。我如何解决这两个问题 class BottomNavBar extends StatefulWidget { @override _BottomNavBarState createState() => _BottomNavBarState(); } class _BottomNavBarState extends State<BottomNavBar>
class BottomNavBar extends StatefulWidget {
@override
_BottomNavBarState createState() => _BottomNavBarState();
}
class _BottomNavBarState extends State<BottomNavBar> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Color(0xff3a3535),
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
),
),
bottomNavigationBar: CurvedNavigationBar(
color: Colors.white,
backgroundColor: Color(0xff3a3535),
buttonBackgroundColor: Colors.white,
height: 50.0,
items: <Widget>[
Icon(Icons.subject,
size: 20, color: Colors.black,),
Icon(Icons.assignment,
size: 20.0, color: Colors.black,),
Icon(Icons.collections_bookmark,
size: 20.0, color: Colors.black,),
],
animationDuration: Duration(
microseconds: 200),
index: 1,
animationCurve: Curves.bounceInOut,
onTap: (index) {
switch (index) {
case 0:
Navigator.push(context, MaterialPageRoute(
builder: (context) => NewsHome()));
break;
case 1:
Navigator.push(context, MaterialPageRoute(
builder: (context) => HomeScreen()));
break;
case 2:
Navigator.push(context, MaterialPageRoute(
builder: (context) => PoemsPage()));
break;
}
}
),
);
}
}
类底部导航栏扩展StatefulWidget{
@凌驾
_BottomNavBarState createState()=>\u BottomNavBarState();
}
类_BottomNavBarState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:容器(
颜色:颜色(0xff3a3535),
高度:MediaQuery.of(context).size.height,
宽度:MediaQuery.of(context).size.width,
子:列(
mainAxisAlignment:mainAxisAlignment.center,
),
),
底部导航栏:曲线导航栏(
颜色:颜色,白色,
背景颜色:颜色(0xff3a3535),
按钮背景颜色:Colors.white,
身高:50.0,
项目:[
图标(Icons.subject,
尺码:20,颜色:颜色。黑色,),
图标(Icons.assignment,
尺寸:20.0,颜色:彩色。黑色,),
图标(Icons.collections\u书签,
尺寸:20.0,颜色:彩色。黑色,),
],
动画持续时间:持续时间(
微秒:200),
索引:1,
animationCurve:Curves.bounceInOut,
onTap:(索引){
开关(索引){
案例0:
Navigator.push(上下文、MaterialPage路由)(
生成器:(context)=>NewsHome());
打破
案例1:
Navigator.push(上下文、MaterialPage路由)(
生成器:(上下文)=>主屏幕());
打破
案例2:
Navigator.push(上下文、MaterialPage路由)(
生成器:(context)=>PoemsPage());
打破
}
}
),
);
}
}