@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)
],
),
],
我尝试了这个,但是当我尝试这个时应用程序就被冻结了
@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.
}
}
我希望这会有所帮助!