flutter 如何根据选项卡栏改变应用栏的动作属性中的图标?

5m1hhzi4  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(116)
@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Browse"),
        backgroundColor: Colors.grey[900],
        actions: [],
        bottom: TabBar(controller: _tabController, tabs: const <Widget>[
          Tab(text: "Tab 1"),
          Tab(text: "Tab 2"),
          Tab(text: "Tab 3"),
        ]),
      ),
    );
  }
}

如何根据所选选项卡在应用栏上显示不同的图标?我是新来的,所以我很抱歉,如果我错过了一些基本的东西。

actions: [
          TabBarView(
            controller: _tabController,
            children: const <Widget>[
              Icon(Icons.person),
              Icon(Icons.settings),
              Icon(Icons.info)
            ],
          ),
        ],

我试过这个,但应用程序只是得到冻结,当我尝试这个

7rtdyuoh

7rtdyuoh1#

@Vignesh请使用标签索引并替换应用栏操作中提供的代码。

actions: <Widget>[
        _getTabIcon(_tabController.index),
      ],
Widget _getTabIcon(int tabIndex) {
  switch (tabIndex) {
    case 0:
      return Icon(Icons.person);
    case 1:
      return Icon(Icons.settings);
    case 2:
      return Icon(Icons.info);
    default:
      return Container(); // Return an empty container or a default icon for unknown tabs.
  }
}

我希望这会有帮助!

相关问题