问题描述
当 BottomNavigationBarItem 多于3个时,
BottomNavigationBar 不应用背景图像。它显示白色背景而不是应用的图像。请查看代码,让我知道代码中是否缺少某些内容。
bottomNavigationBar: Container(
decoration: Boxdecoration(
image: decorationImage(image: Assetimage('assets/images/tabbar_background.png'),fit: BoxFit.fill),),child: BottomNavigationBar(
backgroundColor: Colors.transparent,elevation: 0,items: [
BottomNavigationBarItem(icon: Image.asset("assets/images/eplay.png"),title: Text('title')),BottomNavigationBarItem(icon: Image.asset("assets/images/games.png"),BottomNavigationBarItem(icon: Image.asset("assets/images/retail-location.png"),BottomNavigationBarItem(icon: Image.asset("assets/images/scan.png"),/* BottomNavigationBarItem(icon: Image.asset("assets/images/scan.png"),*/
],
解决方法
将type: BottomNavigationBarType.fixed
添加为BottomNavigationBar
的属性。
我以您的代码为例添加了一个演示:
bottomNavigationBar: Container(
decoration: BoxDecoration(
image: DecorationImage(image: AssetImage('assets/images/tabbar_background.png'),fit: BoxFit.fill),),child: BottomNavigationBar(
backgroundColor: Colors.transparent,type: BottomNavigationBarType.fixed,// new line
elevation: 0,items: [
BottomNavigationBarItem(icon: Image.asset("assets/images/eplay.png"),title: Text('title')),BottomNavigationBarItem(icon: Image.asset("assets/images/games.png"),BottomNavigationBarItem(icon: Image.asset("assets/images/retail-location.png"),BottomNavigationBarItem(icon: Image.asset("assets/images/scan.png"),/* BottomNavigationBarItem(icon: Image.asset("assets/images/scan.png"),*/
],