📅  最后修改于: 2023-12-03 15:15:07.157000             🧑  作者: Mango
Flutter BottomNavigationBar 是一个由一组图标按钮组成的控件,可用于在应用程序的底部导航栏中切换不同的视图或页面。
Flutter BottomNavigationBar 可以在 Scaffold 的 bottomNavigationBar 属性中使用。以下是示例代码:
class MyApp extends StatefulWidget {
MyApp({Key key}) : super(key: key);
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int _selectedIndex = 0;
static const List<Widget> _widgetOptions = <Widget>[
HomeScreen(),
BusinessScreen(),
ProfileScreen(),
];
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Flutter BottomNavigationBar'),
),
body: _widgetOptions.elementAt(_selectedIndex),
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.business),
label: 'Business',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
currentIndex: _selectedIndex,
selectedItemColor: Colors.amber[800],
onTap: _onItemTapped,
),
);
}
}
您可以通过 BottomNavigationBar 类的构建器来自定义 BottomNavigationBar。
以下是自定义 BottomNavigationBar 的示例代码:
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
backgroundColor: Colors.blueGrey,
selectedItemColor: Colors.white,
unselectedItemColor: Colors.grey[400],
selectedFontSize: 14.0,
unselectedFontSize: 12.0,
onTap: _onItemTapped,
currentIndex: _currentIndex,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.search),
label: 'Search',
),
BottomNavigationBarItem(
icon: Icon(Icons.add_box),
label: 'Add',
),
BottomNavigationBarItem(
icon: Icon(Icons.favorite_border),
label: 'Favorite',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
]
),
在该示例中,我们使用了 type
属性来设置 BottomNavigationBarType.fixed
枚举值,以显示网格视图。我们还可以使用其他选项来自定义样式并以不同的方式呈现 BottomNavigationBar。
Flutter BottomNavigationBar 是一项非常有用的功能,可为您的应用程序提供快速导航。使用简单,并可以自定义样式来满足您的需求。 利用 Flutter BottomNavigationBar 开发出一个美观而实用的应用程序吧!