[英]Swipe back gesture with BottomNavBar in Flutter
我正在使用底部导航栏,我需要推送带有底部导航栏的视图才能持久。
这是主页:
MaterialApp(
theme: ThemeData(
pageTransitionsTheme: PageTransitionsTheme(builders: {
TargetPlatform.android: CupertinoPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
})),
home: Scaffold(
body: IndexedStack(
index: _pageIndex,
children: const <Widget>[
HomeView(),
VideosSectionsView(),
FavoritesView()
],
),
bottomNavigationBar: Column(
mainAxisSize: MainAxisSize.min,
children: [
showBottomPlayer ? bottomPlayer(context) : Row(),
const SizedBox(height: 0),
bottomNavigationBar()
],
)));
问题是,当我将一个视图从 HomeView 推送到 SecondView,然后再次推送到 ThirdView 时,ThirdView 的向后滑动手势(在屏幕的左边缘)将我送回 HomeView,但我希望它将我送回 SecondView (所以只弹出一个视图,而不是所有的堆栈)你知道实现这个吗?
为此,我使用 CupertinoPageRoute:
Navigator.of(context, rootNavigator: false).push(
CupertinoPageRoute<bool>(
fullscreenDialog: false,
builder: (BuildContext context) => SecondView()
)
);
这很奇怪,因为如果我将“ rootNavigator ”设置为 true,它可以正常工作,我只能弹出堆栈的最后一个视图,但底部导航栏不再保留在导航中!
所以我必须在良好的向后滑动手势或持久的导航栏之间做出选择......
以编程方式返回没有问题:
Navigator.of(context).pop(true);
所以我想用滑动手势做同样的事情,谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.