dart - Flutter BottomNavigationBar 不能处理三个以上的项目
问题描述
我对Flutter (0.6) 中的BottomNavigationBar有疑问。一旦我添加了三个以上的 BottomNavigationBarItems作为子项,栏中的按钮就会有白色图标,而且它们会被弄乱。当我只使用三个或更少的项目时,一切都很好。
这是我使用的小部件代码,它打破了酒吧:
bottomNavigationBar: BottomNavigationBar(
currentIndex: 0,
iconSize: 20.0,
items: [
BottomNavigationBarItem(
title: Text('Home'), icon: Icon(Icons.accessibility)),
BottomNavigationBarItem(
title: Text('Preise'), icon: Icon(Icons.account_box)),
BottomNavigationBarItem(
title: Text('Test'), icon: Icon(Icons.adb)),
BottomNavigationBarItem(
title: Text('Mehr'), icon: Icon(Icons.menu))
])
有人知道这里出了什么问题吗?
提前感谢您的任何提示,迈克尔
解决方案
对于 4 个或更多项目,将 设置type
为固定。
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed, // This is all you need!
items: // ...,
)
来自https://github.com/flutter/flutter/issues/13642#issuecomment-371875044
当提供超过 3 个 BottomNavigationBar 项目时,如果未指定类型,则更改为
BottomNavigationBarType.shifting
每个 https://docs.flutter.io/flutter/material/BottomNavigationBar/BottomNavigationBar.html。这部分信息应该在课程的文档中突出显示。很容易忽略它的位置(我忽略了它)。当 BottomNavigationBar 的类型为
BottomNavigationBarType.shifting
项目时,文本和图标通过 DefaultTextStyle 和 IconTheme 呈现为白色。假设它们BottomNavigationBarItem.backgroundColor
将被指定为对比色。这显然令人困惑。底部导航栏类型的总体思路
shifting
是,每个项目都有不同的背景颜色(与白色形成对比),因为当项目被选中时,该颜色将成为整个导航栏的颜色。BottomNavigationBar 和 NavigationBarItem 的文档需要改进。
推荐阅读
- python - 增加对数刻度步长的一半
- android - 拍照,将其存储在内部存储中并在 Android (Kotlin) 上的活动中显示
- android - Android Webview第一次加载慢
- python - 基于过去 12 个月跟踪数据的总和值
- postgresql - pgadmin4 无法连接到服务器,致命:用户“postgres”的密码验证失败
- python - 小批量梯度下降梯度在几个时期后爆炸
- swiftui - SwiftUI 在异步更新 @Published 属性后重新渲染非活动视图
- bash - 如何在bash中将一个数组的数组元素与另一个数组中的元素进行比较?
- python - Curve_fit 用于返回 numpy 数组的函数
- python - 在 Python 中调用 file.txt 名称的一部分