如何使 BottomNavigationBar 持久化以及如何使选项卡在 Flutter 中不重新加载
How to make BottomNavigationBar persistent and how to make tabs not reload in Flutter
已解决: 使用 CuperinoTabScaffold() 和 CupertinoTabBar() 解决了这两个问题。
你好,我有一个关于 BottomNavigationBar 的问题。
假设我有一个带有 5 个标签的 BottomNavigationBar:
首页-地图-消息-好友-设置
和路线:
**Home ->
Map ->
Messages -> message_screen
Friends -> friend_list -> deletefriend_screen
Settings -> login_screen**
问题是,我不知道如何让 BottomNavigationBar 在我按下 friend_list 时不消失,当我在朋友屏幕上时。
第二个问题是,我想让 Home、Map、Messages、Friends、Settings 屏幕持久化,所以当我将标签页从 Home 切换到 Map 或从 **Map ->Friends-> friend_list -> back to Map**
时,地图不应该重新加载。但是当我去 **Friends -> friend_list -> deletefriend_screen _> Settings -> Friends -> friend_list**
friend_list 应该重新加载。只有第一个屏幕,选项卡应该是持久的。
感谢大家的帮助:_)
不太明白问题1的用例,但是对于第二个问题,使用keepalive:
class TestState extends State<Test> with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
super.build(context);
return
}
}
这取决于你如何使用它。我可能需要查看您的代码才能了解发生了什么。但是你可以检查这个类似的 post 是否回答了你的问题:
已解决: 使用 CuperinoTabScaffold() 和 CupertinoTabBar() 解决了这两个问题。
你好,我有一个关于 BottomNavigationBar 的问题。
假设我有一个带有 5 个标签的 BottomNavigationBar:
首页-地图-消息-好友-设置
和路线:
**Home ->
Map ->
Messages -> message_screen
Friends -> friend_list -> deletefriend_screen
Settings -> login_screen**
问题是,我不知道如何让 BottomNavigationBar 在我按下 friend_list 时不消失,当我在朋友屏幕上时。
第二个问题是,我想让 Home、Map、Messages、Friends、Settings 屏幕持久化,所以当我将标签页从 Home 切换到 Map 或从 **Map ->Friends-> friend_list -> back to Map**
时,地图不应该重新加载。但是当我去 **Friends -> friend_list -> deletefriend_screen _> Settings -> Friends -> friend_list**
friend_list 应该重新加载。只有第一个屏幕,选项卡应该是持久的。
感谢大家的帮助:_)
不太明白问题1的用例,但是对于第二个问题,使用keepalive:
class TestState extends State<Test> with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
super.build(context);
return
}
}
这取决于你如何使用它。我可能需要查看您的代码才能了解发生了什么。但是你可以检查这个类似的 post 是否回答了你的问题: