- 这真的很奇怪。**添加超过3个
BottomNavigationBarItem
会将BottomNavigationBar
的默认图标和背景颜色更改为透明。
- 这真的很奇怪。**添加超过3个
为什么会这样?
pidoss,2到3个项目一切都很好。
class BottomNavigationTabs extends StatelessWidget {
const BottomNavigationTabs({Key? key, required this.child}) : super(key: key);
final Widget child;
@override
Widget build(BuildContext context) {
return Scaffold(
body: child,
bottomNavigationBar: BottomNavigationBar(
items: const [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'),
BottomNavigationBarItem(icon: Icon(Icons.add), label: 'Create'),
BottomNavigationBarItem(
icon: Icon(Icons.favorite), label: 'Favorite'),
// BottomNavigationBarItem(icon: Icon(Icons.person), label: 'Profile'), // <-- uncomment transparent the whole bottomNavigationBar
],
),
);
}
}
3条答案
按热度按时间flvtvl501#
根据BottomNavigationBar文档:
底部导航栏的类型更改其项目的显示方式。如果未指定,则当项目少于四个时,它将自动设置为BottomNavigationBarType.fixed,否则将自动设置为BottomNavigationBarType.shifting。
...
BottomNavigationBarType。shifting,当存在四个或更多项时为默认值。如果selectedItemColor为null,则所有项都呈现为白色。
两种解决方案
1.最简单的解决方案是对于三个以上的项,将
BottomNavigationBar
类型保持为fixed
。type: BottomNavigationBarType.fixed
.1.第二个解决方案是编辑
selectedItemColor
颜色。agxfikkp2#
将BottomNavigationBar的属性设置为
c90pui9n3#
对于使用主题的用户-您需要设置两个属性(unselectedItemColor和selectedItemColor):