Flutter底部导航栏插件ultimate_navigation_bar的使用
Flutter底部导航栏插件ultimate_navigation_bar的使用
ultimate_navigation_bar
是一个适用于 Flutter 应用程序的终极底部导航栏插件。它具有高度的自定义性,可以适应各种不同的应用场景。
如何使用
要使用 ultimate_navigation_bar
插件,你需要将其添加到项目的 pubspec.yaml
文件中作为依赖项。
dependencies:
ultimate_navigation_bar: ^0.1.9
然后,你可以通过设置 Scaffold
的 bottomNavigationBar
属性来使用该插件。
适应任何使用场景
电子商务
社交
金融
聊天
UltimateNavBar 属性
属性名 | 描述 | 类型 |
---|---|---|
backgroundColor | AppBar 背景颜色 | Color |
itemsColor | 项目颜色 | Color |
barHeight | AppBar 高度 | int |
iconsSize | 图标大小 | double |
isFloating | 导航栏是否浮动 | bool |
items | 项目列表(必填) | List |
showIndicator | 是否显示当前标签的指示器 | boolean |
borderRadiusBar | 导航栏边框半径(仅当 isFloating 为 true 时生效) | BorderRadius |
gradientColors | 导航栏背景渐变颜色列表(至少需要两种颜色) | List<Colors> |
gradientType | 渐变方向(GradientType.horizontal 或 GradientType.vertical ) |
GradientType |
NavBarItem 属性
属性名 | 描述 | 类型 |
---|---|---|
label | 标签(如果为空则不显示) | String |
icon | 图标 | IconData |
onTap | 点击事件处理函数 | Functions |
示例代码
以下是一个完整的示例代码,展示了如何在 Flutter 应用程序中使用 ultimate_navigation_bar
插件。
import 'package:flutter/material.dart';
import 'package:ultimate_navigation_bar/ultimate_navigation_bar.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int currentIndex = 0;
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
title: const Text('Ultimate Navigation Bar'),
),
body: const Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Ultimate Navigation Bar',
),
],
),
),
bottomNavigationBar: UltimateNavBar(
currentIndex: currentIndex,
backgroundColor: Colors.blue.shade500,
gradientColors: [
Colors.green.shade400,
Colors.green.shade700,
Colors.green.shade900,
],
gradientType: GradientType.vertical,
itemsColor: Colors.white,
isFloating: false,
barHeight: 100,
iconsSize: 30,
borderRadiusBar: BorderRadius.circular(80),
showIndicator: true,
items: [
NavBarItem(
icon: Icons.home,
label: "Home",
onTap: () {
print('Home tapped');
}),
NavBarItem(
icon: Icons.person,
label: "Profile",
onTap: () {
print('Profile tapped');
}),
NavBarItem(
icon: Icons.person,
label: "Profile",
onTap: () {
print('Profile tapped');
}),
],
),
),
);
}
}
更多关于Flutter底部导航栏插件ultimate_navigation_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter底部导航栏插件ultimate_navigation_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个使用 ultimate_navigation_bar
插件创建 Flutter 底部导航栏的示例代码。这个插件提供了高度可定制的底部导航栏。
首先,确保在你的 pubspec.yaml
文件中添加 ultimate_navigation_bar
依赖:
dependencies:
flutter:
sdk: flutter
ultimate_navigation_bar: ^2.0.0 # 请检查最新版本号
然后运行 flutter pub get
来获取依赖。
接下来,你可以在你的 Flutter 应用中使用这个插件。以下是一个完整的示例:
import 'package:flutter/material.dart';
import 'package:ultimate_navigation_bar/ultimate_navigation_bar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _selectedIndex = 0;
static List<Widget> _widgetOptions = <Widget>[
Text('Home'),
Text('Search'),
Text('Profile'),
Text('Settings'),
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Ultimate Navigation Bar Example'),
),
body: Center(
child: _widgetOptions.elementAt(_selectedIndex),
),
bottomNavigationBar: UltimateNavigationBar(
currentIndex: _selectedIndex,
onTabSelected: (index) {
setState(() {
_selectedIndex = index;
});
},
backgroundColor: Colors.white,
activeColor: Colors.blue,
inactiveColor: Colors.grey,
borderRadius: BorderRadius.circular(20),
items: [
UltimateNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
),
UltimateNavigationBarItem(
icon: Icon(Icons.search),
title: Text('Search'),
),
UltimateNavigationBarItem(
icon: Icon(Icons.person),
title: Text('Profile'),
),
UltimateNavigationBarItem(
icon: Icon(Icons.settings),
title: Text('Settings'),
),
],
),
);
}
}
代码解释
- 依赖导入:在
pubspec.yaml
文件中添加ultimate_navigation_bar
依赖。 - 主应用:
MyApp
是一个简单的MaterialApp
,设置了主题和主页面。 - 主页面:
MyHomePage
是一个StatefulWidget
,用于管理导航栏的选中状态。 - 导航栏项:在
_MyHomePageState
的build
方法中,使用UltimateNavigationBar
创建底部导航栏。currentIndex
:当前选中的索引。onTabSelected
:点击导航栏项时的回调函数,更新当前选中的索引。backgroundColor
、activeColor
、inactiveColor
:设置导航栏的背景色、激活和未激活项的颜色。borderRadius
:设置导航栏的圆角半径。items
:导航栏项列表,每个项包含图标和标题。
这个示例展示了如何使用 ultimate_navigation_bar
创建一个简单的底部导航栏,并根据用户的选择更新页面内容。你可以根据需要进一步自定义导航栏的样式和功能。