[译]Flutter Favorite 之底部导航栏组件bottom_navy_bar

556 阅读2分钟

「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」。

最近看了一下 Flutter Favorite 里的组件,今天介绍一下其中的一个底边栏组件 bottom_navy_bar。

bottom_navy_bar | Flutter Package (pub.dev)

bottom_navy_bar

bottom_navy_bar 是一款漂亮的动画化的底部导航栏。该导航栏使用当前的主题,也可以自由定制主题。
navy.gif

可选项

BottomNavyBar(底部导航栏)

  • iconSize - 导航项的图标大小
  • items - 导航项,需要多于一个,小于六个。(经实验,范围外直接报错。)
  • selectedIndex - 当前的导航项下标,用此来切换选中导航项。默认是0。
  • onItemSelected - 用来监听一个导航项被触发,提供被选中导航项的下标。
  • backgroundColor - 导航栏的背景色。
  • showElevation - 为 false 时,移除导航栏上边的阴影。
  • mainAxisAlignment - 水平方向上导航项的对齐方式。主要用于只有两个导航项时,如何来使导航项居中。
  • curve - 自定义导航项切换动画的属性。
  • containerHeight - 改变底部导航栏的高度。

bottomNavyBarItem(底部导航项)

  • Icon - 导航项的图标。
  • title - 导航项选中时,显示在导航项旁的标题。
  • activeColor - 选中导航项的背景色和标题文字颜色(背景色会淡化)。
  • inactiveColor - 未选中的导航项的图标颜色。
  • textAlign - 导航项标题的对齐方式。

后记:

简单使用了一下,切换时的动画效果还不错。
同样是 Flutter Favorite 组件,感觉另外一个底部导航组件convex_bottom_bar的切换动画效果感觉更酷炫。

有几个小地方,使用时需注意:

  1. 导航项至少2项,最多5项,不在范围内会报错。
    至少一项的情况还是比较常见,个人感觉改成至少1项比较合适。

    'package:bottom_navy_bar/bottom_navy_bar.dart': Failed assertion: line 26 pos 15: 'items.length >= 2 && items.length <= 5': is not true.
    
  2. 选中导航项的背景色和标题文字颜色是用的一个属性来设置,背景色的透明度是0.2,标题文字的透明度是1.0。
    背景和标题文字使用同一个颜色这个就见仁见智了。


什么水平的组件或包,才能入选 Flutter Favorite 呢?