draggable_customized_btn_navy_bar
一个底部导航栏,您可以根据需要自定义选项,没有任何限制。您还可以自定义导航栏的外观。
该软件包解决了 bottom_personalized_dot_bar 软件包的问题,它解决了 i 的问题,问题可概括为以下几点:
- 它已过时,并且所有者已 3 年未更新。
- 手势捕获了一些异常。
- 对显示的项的最大数量和最小数量没有明确的定义。
- 会忘记每次运行时在显示和隐藏项中所做的更改,因此用户设置将在应用程序关闭后被遗忘。
- 非跨平台。
这款按钮导航栏非常漂亮,很多人都非常喜欢。因此,我构建了这个公共软件包,以帮助他们将这个漂亮的按钮导航栏添加到他们的项目中。希望这对您有所帮助。
实时预览
支持的平台
- Flutter Android
- Flutter iOS
- Flutter Web
- Flutter 桌面
软件包结构
空安全!!
软件包概览
- 拖放您的选项!
- 更改图标、背景、文本、项目、项目背景……颜色
- 控制显示项的最大数量和最小数量
- 监听事件“排序、插入和删除”
- 动态更改选定选项
- 将修改后的设置(项及其索引的更改)保存在共享偏好设置中
- 自定义选项
- 无限选项
- 支持所有平台 [Android – iOS – Web – Linux – Mac – Windows]
- 以及更多……
入门
首先,依赖该软件包。
dependencies:
...
draggable_customized_btn_navy_bar: ^0.0.1 #Add the latest version
然后在您的 dart 文件中导入该软件包
import 'package:draggable_customized_btn_navy_bar/draggable_customized_btn_navy_bar.dart';
基本设置
String _itemSelected = 'item-1';
...
..
.
Scaffold(
body: Stack(
children: <Widget>[
.... // Your App Home
DraggableCustomizedBtnNavyBar(
keyItemSelected: _itemSelected,
hiddenItems: <DraggableCustomizedDotBarItem>[
DraggableCustomizedDotBarItem('item-4', icon: Icons.cloud, name: 'Nube', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-5', icon: Icons.access_alarm, name: 'Alarma', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-6', icon: Icons.message, name: 'Mensaje', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-7', icon: Icons.notifications, name: 'Alerta', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-8', icon: Icons.security, name: 'Seguridad', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-9', icon: Icons.help, name: 'Ayuda', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-10', icon: Icons.settings, name: 'Config.', onTap: (itemSelected) { /* event selected */ }),
],
items: <DraggableCustomizedDotBarItem>[
DraggableCustomizedDotBarItem('item-1', icon: Icons.sentiment_very_satisfied, name: 'Flutter', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-2', icon: Icons.favorite_border, name: 'Favorito', onTap: (itemSelected) { /* event selected */ }),
DraggableCustomizedDotBarItem('item-3', icon: Icons.face, name: 'Perfil', onTap: (itemSelected) { /* event selected */ }),
],
),
],
),
);
自定义
DraggableCustomizedBtnNavyBar
| 属性 | 描述 |
|---|---|
items |
要显示在导航栏中的项目列表 |
hiddenItems |
将隐藏的项目列表 |
maximumNumberOfDisplayItems |
显示的最多项目数 – 默认:5 |
onDisplayedStackOverflows |
如果用户想向显示的项目添加项目并且达到了最大显示数量,则要执行的函数 – 默认:showSnackBar。 onDisplayedStackOverflows: () { /* 您的操作 */ } |
minimumNumberOfDisplayedItems |
最少的显示项目数 – 默认:1 |
onDisplayedStackIsEmpty |
如果用户想从显示的项目中删除项目并且达到了最小显示数量,则要执行的函数 – 默认:showSnackBar。 onDisplayedStackIsEmpty: () { /* 您的操作 */ } |
keyItemSelected |
选中的项目键 |
width |
导航栏宽度 |
高度 |
导航栏高度 |
borderRadius |
导航栏半径 |
selectedColorIcon |
选中图标颜色 |
unSelectedColorIcon |
未选中图标颜色 |
navigatorBackground |
导航器容器背景色 |
settingBackground |
设置容器背景色(隐藏的项目) |
iconSetting |
设置按钮图标 |
iconSettingColor |
设置按钮图标颜色 |
settingTitleText |
设置标题文本 |
settingTitleColor |
设置标题颜色 |
settingSubTitleText |
设置副标题文本 |
settingSubTitleColor |
设置副标题颜色 |
doneText |
完成按钮文本 |
textDoneColor |
完成文本颜色 |
buttonDoneColor |
完成按钮颜色 |
hiddenItemBackground |
隐藏项目的背景 |
iconHiddenColor |
隐藏图标颜色 |
textHiddenColor |
隐藏文本颜色 |
dotColor |
选择指示器颜色(圆点) |
boxShadow |
容器的阴影 |
onOrderHideItems |
对隐藏选项进行排序时的事件,该事件的参数是按新顺序排列的隐藏选项列表。 onOrderHideItems: (List<BottomPersonalizedDotBarItem> hiddenItems) { /* 您的操作 */ } |
onOrderItems |
在排序浏览器选项时的事件,该事件的参数是按新顺序排列的选项列表。 onOrderItems: (List<BottomPersonalizedDotBarItem> items) { /* 您的操作 */ } |
onAddItem |
添加新选项到导航栏时的事件,该事件的参数是您添加的项和选项列表。 onAddItem: (BottomPersonalizedDotBarItem itemAdd, List<BottomPersonalizedDotBarItem> items) { /* 您的操作 */ } |
onRemoveItem |
从导航栏中删除选项时的事件,该事件的参数是要删除的项和隐藏选项列表。 onRemoveItem: (BottomPersonalizedDotBarItem itemRemove, List<BottomPersonalizedDotBarItem> hiddenItems) { /* 您的操作 */ } |
DraggableCustomizedDotBarItem
| 属性 | 描述 |
|---|---|
keyItem |
唯一键 |
icon |
项目图标 |
名称 |
项目名称 |
onTap |
按下项目时的事件。 onTap: (String keyItem) { /* 您的操作 */ } |
许可与可访问性
- 这是我的第一个软件包版本,如果您发现任何问题,可以随时提出 issue。
贡献
欢迎 Pull requests。对于重大更改,请先打开一个 issue 来讨论您想进行的更改。
.gif)


