问题描述
我希望在用户未登录时禁用“ 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 (将#修改为@)