我有一个BottomNavigationBar,我只需要在里面添加一个集中按钮,但我得到了这个错误:
'package:flutter/src/material/bottom_navigation_bar. dart':Assert失败:第191行位置15:'items.length >= 2':不是真的
这是合乎逻辑的,因为Flutter的源代码具有以下条件:
//..
assert(items.length >= 2),
所以,这是我的代码,有没有一个变通办法,使用BottomNavigationBar来保持代码的整洁?
BottomNavigationBar(
items: <BottomNavigationBarItem>[
buildBottomNavigationBarItem(
iconData: Icons.close,
),
// AN ERROR AFTER COMMENTING THIS:
// buildBottomNavigationBarItem(
// iconData: Icons.open,
// ),
],
),
BottomNavigationBarItem buildBottomNavigationBarItem(
{IconData iconData, String title = ''}
) {
return BottomNavigationBarItem(
icon: Icon(
iconData,
color: Theme.of(context).accentColor,
size: 0.04 * _deviceHeight,
),
title: Text(
title,
),
);
}
谢谢
3条答案
按热度按时间ruoxqz4g1#
您不能使用
BottomNavigationBar
,但可以创建自己的小部件并将其传入bottomNavigationBar
参数。如果新的自定义底部导航栏与手机的OS GUI重叠,则可以使用
SafeArea
小部件 PackageInkWell
。kg7wmglp2#
如果您希望有三个项目将
assert(items.length >= 2),
变为assert(items.length >= 3),
,则可以在底部导航栏中将assert(items.length >= 2),
更改为所需的长度fsi0uk1n3#
如果您的BottomNavigationBar items[]中只有一个项目(BottomNavigationBarItem),则会出现此错误。请在您的项目[](>=2)中至少再添加一个项目