以下是如何使用资产中的图标
ImageIcon(
AssetImage("images/icon_more.png"),
color: Color(0xFF3A5A98),
),
试试这个底部导航栏点击的例子
所以你要替换的是 BottomNavigationBarItem
new BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
),
至
new BottomNavigationBarItem(
icon: ImageIcon(
AssetImage("images/icon_more.png"),
color: Color(0xFF3A5A98),
),
title: Text('Home'),
),
您可以从我分享的文章中了解导航
更新
这是您要求的示例。
因此,这里的 _children 变量包含您要根据选择的 BottomNavBarItem 导航的页面列表。
我们的导航方式是,当我们按下一个选项卡项时,我们使用 onTabTapped 函数设置它的索引。当索引更改时,视图会相应更改,因为我们指示主体显示子项的当前索引
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _currentIndex = 0;
final List<Widget> _children = [
Container(
color: Colors.red,
),
Container(
color: Colors.blue,
),
Container(
color: Colors.green,
)
];
void onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: _children[_currentIndex],
bottomNavigationBar: BottomNavigationBar(
onTap: onTabTapped, // new
currentIndex: _currentIndex, // new
items: [
new BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
),
new BottomNavigationBarItem(
icon: Icon(Icons.mail),
title: Text('Messages'),
),
new BottomNavigationBarItem(
icon: Icon(Icons.person), title: Text('Profile'))
],
),
);
}
}