• 底部导航
    ~
    int _counter = 0;
    var titles = [“首页”, “聊天”, “发现”, “我的”];
    int _selectedIndex = 0;
    String badgeNo1 = ‘3’;

    /// icon数组
    var icons = [
    Icons.home,
    Icons.chat_bubble,
    Icons.find_in_page,
    Icons.account_circle_outlined,
    ];
    List _getTabBarItems({int count = 1}) {
    return List.generate(

      count,
      (index) => BrnBottomTabBarItem(
            icon: Icon(
              icons[0],
              color: Colors.grey,
            ),
            title: Text(titles[0]),
            activeIcon: Icon(
              icons[0],
              color: Colors.green,
            ),
            selectedTextStyle: TextStyle(color: Colors.green),
            unSelectedTextStyle: TextStyle(color: Colors.green),
          ));

    }

    void _onItemSelected(int index) {
    switch (index) {

    case 0:
      BrnToast.show("首页", context);
      break;
    case 1:
      BrnToast.show("聊天", context);
      break;
    case 2:
      BrnToast.show("发现", context);
      break;
    case 3:
      BrnToast.show("我的", context);
      break;

    }
    setState(() {

    /// 置为当前选中item的索引值
    _selectedIndex = index;
    
    /// 选中后未读消息的数量
    badgeNo1 = '';

    });
    }

BrnBottomTabBar(
fixedColor: Colors.green,
currentIndex: _selectedIndex,
onTap: _onItemSelected,
badgeColor: Colors.red,
type: BrnBottomTabBarDisplayType.fixed,
items: [
BrnBottomTabBarItem(icon: Icon(icons[0]), title: Text(titles[0])),
BrnBottomTabBarItem(icon: Icon(icons[1]), title: Text(titles[1])),
BrnBottomTabBarItem(icon: Icon(icons[2]), title: Text(titles[2])),
BrnBottomTabBarItem(
icon: Icon(icons[3]), title: Text(titles[3]), badgeNo: badgeNo1),
],
),
~

文档更新时间: 2022-11-16 11:35   作者:Yoby