我将 BottomNavigationBar 用于 3 个(A、B、C)屏幕和 Drawer 用于 6 个(A、B、C、D、E、F)屏幕。
当我第一次登录时,BottomNavigationBar 小部件被调用,因此它显示第一个屏幕 (A) 和 BottomNavigationBar。我可以通过它导航到屏幕 B 和 C。但是,当我从侧面抽屉中选择任何屏幕时,BottomNavigationBar 就会消失。
我希望 BottomNavigationBar 显示在所有屏幕上。
以下是我的 BottomNavigationBar 小部件的代码 -
class NewBottomNav extends StatefulWidget {
@override
_NewBottomNavState createState() => _NewBottomNavState();
}
class _NewBottomNavState extends State<NewBottomNav> {
int _selectedIndex = 0;
static const List<Widget> _widgetOptions = <Widget>[
ConveyorDashboard(),
Notifications(),
Profile(),
];
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey.shade200,
body: _widgetOptions.elementAt(_selectedIndex),
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.stacked_line_chart),
label: 'Conveyor',
),
BottomNavigationBarItem(
icon: Icon(Icons.notifications),
label: 'Notifications',
),
BottomNavigationBarItem(
icon: Icon(Icons.supervised_user_circle_rounded),
label: 'Profile',
),
],
currentIndex: _selectedIndex,
selectedItemColor: Color.fromRGBO(36, 78, 145, 1),
onTap: _onItemTapped,
),
);
}
}
预先感谢您提供帮助。