动画导航栏
Flutter 实现的可自定义导航栏,带动画效果。
入门
将以下依赖项添加到您 Flutter 项目的 pubspec.yaml 文件中
dependencies:
...
animated_navigation_bar:
导入包
import 'package:animated_navigation_bar/animatedNavBar.dart';
如果您在开始使用 Flutter 时需要帮助,请前往官方 文档。
构造函数
您可以调用 AnimatedNavBar 的构造函数,并将 AnimatedNavBarPage 列表作为 Scaffold 的 body 来创建它
Scaffold(
body: AnimatedNavBar(
pages: <AnimatedNavBarPage>[
AnimatedNavBarPage(),
AnimatedNavBarPage(),
...
]
),
AnimatedNavBar 需要多个要素
- 一个
Color,用于填充导航视图和导航栏的背景色 - 一个
BorderRadius,半径范围在 0 到 24 之间 - 以及如前所述的
AnimatedNavBarPage列表,最大长度为 5,最小长度为 1
AnimatedNavBarPage 需要多个要素
- 一个
Text,代表标签栏页面 - 一个
IconData,代表标签栏页面的图标 - 还有一个 pageContent,这是页面的 Widget,可以是您想要的任何 Widget
样式
您可以使用多种附加参数来样式化 AnimatedNavBar
这是一个示例
Scaffold(
backgroundColor: Colors.blue,
body: AnimatedNavBar(
borderRadius: Radius.circular(24),
color: Colors.white,
padding: 8,
iconColor: Color(0xFF0D1C2E),
inactiveIconColor: Color(0xFF233B90),
backgroundColor: Colors.blue,
shadow: false,
textStyle: Theme.of(context).textTheme.headline4,
pages: [
// first page
AnimatedNavBarPage(
title: "Home",
icon: Icons.home,
inactiveIcon: Icons.home_outlined,
pageContent: HomePage(),
),
// second page
AnimatedNavBarPage(
title: "Map",
icon: Icons.map,
inactiveIcon: Icons.map_outlined,
pageContent: MapPage(),
),
// third page
AnimatedNavBarPage(
title: "User",
icon: Icons.person,
inactiveIcon: Icons.person_outline,
pageContent: UserPage(),
),
],
),
);
贡献
请随时为此项目做出贡献
您可以 fork 该项目并进行自己的版本开发
如果您发现任何错误,请打开一个 issue。
如果您修复了错误或添加了新功能,请打开一个 pull request。
示例
有关完整的可理解项目,请参阅此 存储库。