如何根据tabbar改变appbar的actions属性中的图标?

问题描述 投票:0回答:1
  @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)
            ],
          ),
        ],

我尝试了这个,但是当我尝试这个时应用程序就被冻结了

flutter tabbar flutter-appbar
1个回答
0
投票

@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.
  }
}

我希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.