我一直在努力弄清楚如何导航回我的底部导航栏后,导航到一个页面没有它。使用导航弹出不工作,并产生一个错误,我已经看了其他问题,人们问同样的事情,但似乎没有人回答这个问题,每个人都只是解释如何在导航栏内的不同项目之间导航...这很容易。
下面是导航栏的代码,它工作起来没有任何问题。再次,我可以很容易地在不同的导航栏页面之间导航。
`import 'package:google_nav_bar/google_nav_bar.dart';
import 'package:flutter/material.dart';
import '../../Screens/screens_export.dart';
class GoogleNavBar extends StatefulWidget {
const GoogleNavBar({Key? key}) : super(key: key);
@override
State<GoogleNavBar> createState() => _GoogleNavBarState();
}
class _GoogleNavBarState extends State<GoogleNavBar> {
int currentIndex = 2;
final Screens = [
nderChat(),
TBD(),
Reports(),
Drawer(),
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Screens[currentIndex],
bottomNavigationBar: Container(
color: Colors.black,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 15,
vertical: 20),
child: GNav(
backgroundColor: Colors.black,
color: Colors.white,
activeColor: Colors.white,
tabBackgroundColor: Colors.grey.shade800,
padding: EdgeInsets.all(16),
gap: 8,
onTabChange: (index) => setState(() => currentIndex = index),
tabs: const[
GButton(
icon: Icons.groups_outlined,
text: 'Global',
),
GButton(
icon: Icons.rss_feed_outlined,
text: 'TBD',
),
GButton(
icon: Icons.running_with_errors_rounded,
text: 'Alerts',
),
// GButton(
// icon: Icons.sports,
// text: 'Reports',
// ),
GButton(
icon: Icons.account_circle_outlined,
text: 'Profile',
),
]
),
),
),
);
}
}
在屏幕抽屉中,我打开了一个抽屉,这可能不是一个好习惯。单击其中一个抽屉选项会将我带到另一个页面,如个人资料页(不属于导航栏)。
导航到配置文件后,当我做“导航弹出”时,它给我“路线错误”。
我不知道该怎么办,我试过用Pushnamed,但也给了我一个错误,也许是我做错了。
一个类似的问题没有答案:Flutter pass bottom navigation bar selected index when navigating back to page with bottom nav bar
2条答案
按热度按时间wz3gfoph1#
配置文件页面是一个底部导航。
你应该这样使用。(main.dart)
ilmyapht2#
要添加更多信息:
以下是一些屏幕截图
Profile bar item
Page without Navigation Bar
On pressing back button in top left corner of App Bar