首页 > 解决方案 > Flutter 禁用标签栏项目

问题描述

我希望能够以编程方式禁用/启用 Flutter 中的标签栏项目,并且想知道如何去做?

例如,在 IOS 中,它将类似于tabBarItem1.isEnabled = false.

我想禁用用户与标签栏的交互,直到他们首先完成一个过程,例如按下按钮。

任何帮助/指针将不胜感激。

标签: fluttertabbarcupertinotabbar

解决方案


我将其用作解决方法。

常规选项卡:

Widget regularTab = Tab(
  icon: Icon(Icons.widgets),
  text: AppLocalizations.of(context).regularTab,
);

不会在点击时更改索引的选项卡(或将执行您自己的任何其他操作):

Widget disabledTab = Material(
  child: InkWell(
    child: Container(
      child: regularTab,
      width: double.infinity,
    ),
    onTap: () {
      print('${DateTime.now()} tapped');
    },
  ),
  color: Colors.transparent,
  textStyle: Theme.of(context).primaryTextTheme.body2,
);

推荐阅读