如何禁用CupertinoTabView中的特定选项卡以便能够单击?

问题描述

我希望在用户登录时禁用“ Mon Compte”和“ Annonces”选项卡,但这些选项卡将被禁用。 有没有办法关闭CupertinoTabView中的特定标签?这样,除非用户登录,否则无法单击它?或如果用户未连接该如何更改索引欢迎任何帮助,谢谢!

class BottomMenu extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _BottomMenuState();
  }
}

class _BottomMenuState extends State<BottomMenu> {
   static int currentTab = 3; // to keep track of active tab index


 @override
  Widget build(BuildContext context) {


    SystemChrome.setsystemUIOverlayStyle(
      systemUIOverlayStyle(
        statusBarColor: Colors.transparent,statusBarBrightness: Brightness.light,systemNavigationBarColor: Colors.transparent,systemNavigationBarIconBrightness: Brightness.light,),);

    return CupertinoTabScaffold(
      tabBar: CupertinoTabBar(
        currentIndex:  currentTab,activeColor: Theme.of(context).primaryColor,backgroundColor: Theme.of(context).backgroundColor,inactiveColor: Theme.of(context).disabledColor,items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.search),title: Text(
                "Matching"
            ),BottomNavigationBarItem(
            icon: Icon(Icons.dashboard),title:
            Text(
                "Annonces"
            ),BottomNavigationBarItem(
            icon: Icon(MenuIcon.favorite__1_),title:
            Text("Favoris"),BottomNavigationBarItem(
            icon: Icon(MenuIcon.user__1_),title: Text(
                "Mon Compte"
            ),],tabBuilder: (context,index) {
        switch (index) {

          case 0:
            return CupertinoTabView(builder: (context) {


                return CupertinopageScaffold(
                  child: Matching(),);

            }

            );
          case 1:
            return CupertinoTabView(builder: (context) {

              return CupertinopageScaffold(
                child: Offers(),);
            });
          case 2:
            return CupertinoTabView(builder: (context) {

              return CupertinopageScaffold(
                child: Favorites(),);
            });
          default: return CupertinoTabView(

              builder: (context) {

            return CupertinopageScaffold(
              child: Login(),);
          });
        }
      },);

  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...