Flutter底部导航栏插件border_bottom_navigation_bar的使用
Flutter底部导航栏插件border_bottom_navigation_bar的使用
border_bottom_navigation_bar
是一个完全可自定义的 Flutter 底部导航栏插件。它允许开发者根据自己的需求定制底部导航栏的样式和功能。
使用方法
以下是一个完整的示例,展示了如何在 Flutter 应用中使用 border_bottom_navigation_bar
插件。
import 'package:border_bottom_navigation_bar/border_bottom_navigation_bar.dart';
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomeView(),
);
}
}
// 忽略: 使用构造函数中的键
class HomeView extends StatefulWidget {
[@override](/user/override)
State<HomeView> createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
int _currentIndex = 0;
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
extendBody: true,
appBar: AppBar(
backgroundColor: Colors.blue[900],
),
body: ListView.builder(
itemCount: 100,
itemBuilder: (context, index) {
return Container(
height: 300,
margin: const EdgeInsets.only(bottom: 10),
decoration: BoxDecoration(
color: Colors.grey[350],
image: DecorationImage(
image: NetworkImage(
'https://picsum.photos/id/$index/500',
),
fit: BoxFit.cover,
),
),
);
},
),
bottomNavigationBar: BorderBottomNavigationBar(
height: 53, // 设置底部导航栏的高度
currentIndex: _currentIndex, // 当前选中的索引
borderRadiusValue: 25, // 圆角半径
onTap: (index) { // 点击事件处理器
setState(() {
_currentIndex = index;
});
print(index);
},
selectedLabelColor: Colors.white, // 选中项标签颜色
unselectedLabelColor: Colors.grey, // 未选中项标签颜色
selectedBackgroundColor: Colors.blue[900]!, // 选中项背景颜色
unselectedBackgroundColor: Colors.grey[200]!, // 未选中项背景颜色
unselectedIconColor: Colors.grey[600]!, // 未选中项图标颜色
selectedIconColor: Colors.white, // 选中项图标颜色
customBottomNavItems: [ // 自定义底部导航栏项
BorderBottomNavigationItems(
icon: Icons.home,
),
BorderBottomNavigationItems(
icon: Icons.event_note_outlined,
),
BorderBottomNavigationItems(
icon: Icons.add_circle_outline_outlined,
),
BorderBottomNavigationItems(
icon: Icons.rss_feed_outlined,
),
BorderBottomNavigationItems(
icon: Icons.more_horiz,
),
],
),
);
}
}
更多关于Flutter底部导航栏插件border_bottom_navigation_bar的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复