Flutter:重新加载导航栏屏幕,保持在同一屏幕上

时间:2020-09-20 22:22:09

标签: flutter navigationbar setstate

导航栏具有四个元素(主页,画廊,事件,成员)

家庭导航栏屏幕上有一个抽屉

现在此抽屉有4个不同的屏幕,实际上已加载到同一家庭导航栏屏幕中(在选择相应的抽屉屏幕时)

应用程序加载后,它仅会落在主导航栏屏幕上。

因此,现在,如果控件移至抽屉的不同屏幕,则显然首页导航栏将保持不变(因为抽屉的所有屏幕都已加载到同一首页导航栏屏幕中)。

因此,在抽屉的不同屏幕上移动时,单击导航栏的“主页”选项卡将无法加载主屏幕导航栏屏幕的登陆页面,例如从主页导航栏屏幕的角度来看,尽管导航是通过抽屉屏幕发生。

CustomNavItem(setPage: setPage, icon: Icons.home, id: 0),
Container(),
CustomNavItem(setPage: setPage, icon: Icons.gallery, id: 1),
Container(),
........

CustomNavItem

class CustomNavItem extends StatelessWidget {
  final IconData icon;
  final int id;
  final Function setPage;

  const CustomNavItem({this.setPage, this.icon, this.id});

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        currentIndex = id;
        setPage();
      },
      child: CircleAvatar(
        radius: 30,
        backgroundColor: Theme.of(context).primaryColor,
        child: CircleAvatar(
    ..........
    

有人可以帮我吗 谢谢!!!!

0 个答案:

没有答案
相关问题