flutter 未选中时不显示BottomNavBarItem标签

lstz6jyr  于 2023-04-22  发布在  Flutter
关注(0)|答案(1)|浏览(131)
@override
  Widget build(BuildContext context) => Scaffold(
    appBar: AppBar(
      title: Text(
        _titles[_currentIndex],
      ),
      backgroundColor: matGreen,
    ),
    body: _pages[_currentIndex],
    bottomNavigationBar: BottomNavigationBar(
      items: <BottomNavigationBarItem> [
        _genNavItem(0, 'a'),
        _genNavItem(1, 'b'),
        _genNavItem(2, 'c'),
        _genNavItem(3, 'd'),
      ],
      onTap: (index) {
        setState(() {
          _currentIndex = index;
        });
      },
      currentIndex: _currentIndex,
    ),
  );

  BottomNavigationBarItem _genNavItem(
    int iconIndex, 
    String title,
  ) => BottomNavigationBarItem(
    icon: Icon(
      _icons[iconIndex],
      size: 35.0, 
    ),
    label: title,
    backgroundColor: matGreen
  );

我有上面的代码,问题是navbaritems中的unselected标签('a'~'d ')没有显示。它们只在选中时以白色字体显示。到目前为止,我已经尝试了以下方法,但似乎没有解决问题。

  • 选择标签样式
  • unselectedLabelStyle
  • SafeArea〉〉Stack(...)

无论选择还是未选择,图标都会显示。
有没有人有任何建议,还有什么可以尝试的?

efzxgjgh

efzxgjgh1#

尝试将这3个属性添加到此行,以查看currentIndex: _currentIndex,

showUnselectedLabels: true,        
unselectedItemColor: Colors.white,
selectedItemColor: Colors.blue,

你将首先设置布尔值为true的类型,当被选中时,它将变为蓝色,当未被选中时,它将变为白色,尝试这种方式。

相关问题