Dart 在Flatter中从底部导航栏执行整页路由
我实现了一个底部导航栏,当点击图标时,脚手架的主体被重建。但是当我的第三个图标(index=2)被按下时,我想要一个完整的页面路径,这样底部的导航栏就不会显示了。我有一些代码可以工作,但是没有一个后退按钮来弹出堆栈(因为它没有被推入堆栈)如何使用“后退”按钮对底部导航栏上的一个索引进行全页导航? 代码:Dart 在Flatter中从底部导航栏执行整页路由,dart,flutter,Dart,Flutter,我实现了一个底部导航栏,当点击图标时,脚手架的主体被重建。但是当我的第三个图标(index=2)被按下时,我想要一个完整的页面路径,这样底部的导航栏就不会显示了。我有一些代码可以工作,但是没有一个后退按钮来弹出堆栈(因为它没有被推入堆栈)如何使用“后退”按钮对底部导航栏上的一个索引进行全页导航? 代码: class MainApp扩展StatefulWidget{ @凌驾 _MainAppState createState()=>\u MainAppState(); } 类_MainAppSta
class MainApp扩展StatefulWidget{
@凌驾
_MainAppState createState()=>\u MainAppState();
}
类_MainAppState扩展状态{
变量_页=[
第1页(),
第2页(),
特殊页面(),
第3页(),
第4页(),
];
int _currentIndex=0;
onTabTapped(int索引){
设置状态(){
_currentIndex=索引;
});
}
@凌驾
小部件构建(构建上下文){
return _currentIndex==2?SpecialPage():Scaffold(
正文:_页[_当前索引],
底部导航栏:底部导航栏(
类型:BottomNavigationBarType.fixed,
项目:[
BottomNavigationBarItem(图标:图标(Icons.library_books)),标题:文本(“”),
BottomNavigationBarItem(图标:图标(图标.通知),标题:文本(“”)),
BottomNavigationBarItem(图标:图标(图标.添加圆圈\u轮廓),标题:文本(“”)),
BottomNavigationBarItem(图标:图标(Icons.mail),标题:文本(“”)),
BottomNavigationBarItem(图标:图标(Icons.person),标题:文本(“”)),
],
onTap:onTabTapped,
currentIndex:_currentIndex,
),
);
}
}
不要使用底部导航栏
,而是在主体上使用堆栈
body: Stack(
children: <Widget>[
// whatever your main screen content is
Positioned(
bottom: 0.0,
left: 0.0,
right: 0.0,
child: MyCustomNav(),
),
]
)
body:Stack(
儿童:[
//无论你的主屏幕内容是什么
定位(
底部:0.0,
左:0.0,
右:0.0,
子项:MyCustomNav(),
),
]
)
然后,您只需将五个项目排成一行,即可执行任何操作。堆叠的customnav栏是否会阻止底部的主屏幕,即使我向上滚动到一定程度?是的,它将保持在那里。但如果你想让它消失,你可以随时收听scrollcontroller并根据scrollInfo.metrics.pixels修改它
body: Stack(
children: <Widget>[
// whatever your main screen content is
Positioned(
bottom: 0.0,
left: 0.0,
right: 0.0,
child: MyCustomNav(),
),
]
)