Android [颤振]:PersistentBottomNavBar包有问题

Android [颤振]:PersistentBottomNavBar包有问题,android,flutter,dart,android-emulator,Android,Flutter,Dart,Android Emulator,在我的flift应用程序中,我有另一个使用“Provider”包和“PersistentBottomNavBar”包的程序。所以在解决了这个问题之后,我马上得到了另一个。这是我的源代码。当我运行这段代码时,我的Android模拟器崩溃了。显示以下错误消息: 对null调用了方法“map”。接收者:空。尝试调用:map(闭包:(PersistentBottomNavBarItem)=>Flexible) import'包装:flift/cupertino.dart'; 导入“包:flifter/s

在我的flift应用程序中,我有另一个使用“Provider”包和“PersistentBottomNavBar”包的程序。所以在解决了这个问题之后,我马上得到了另一个。这是我的源代码。当我运行这段代码时,我的Android模拟器崩溃了。显示以下错误消息: 对null调用了方法“map”。接收者:空。尝试调用:map(闭包:(PersistentBottomNavBarItem)=>Flexible)

import'包装:flift/cupertino.dart';
导入“包:flifter/services.dart”;
进口“包装:颤振/材料.省道”;
导入“包:provider/provider.dart”;
导入“package:persistent_bottom_nav_bar/persistent tab view.dart”;
导入“/screens/products_list_screen.dart”;
导入“./screens/add_product_screen.dart”;
导入“/screens/profile_screen.dart”;
导入“/providers/products.dart”;
void main(){
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([
DeviceOrientation.Up,
DeviceOrientation.down,
]);
runApp(
多供应商(
供应商:[
变更通知提供者(
创建:()=>Products(),
),
],
孩子:MaterialApp(
标题:“示例应用程序”,
debugShowCheckedModeBanner:false,
主题:主题数据(
原始样本:颜色。蓝灰色,
accentColor:颜色。灰色[700],
),
主页:MyApp(),
),
),
);
}
类MyApp扩展了StatefulWidget{
@凌驾
_MyAppState createState()=>\u MyAppState();
}
类MyAppState扩展了状态{
PersistentTabController\u tabController=
PersistentTabController(初始索引:0);
bool_hideNavBar=false;
@凌驾
无效处置(){
//TODO:实现dispose
super.dispose();
_tabController.dispose();
}
列表_buildScreens(){
返回[ProductsListScreen(),AddProductScreen(),ProfileScreen()];
}
列表_navBarItems(){
返回[
持续底部气压计(
图标:图标(CupertinoIcons.list_bullet),
标题:“产品”,
activeColor:CupertinoColors.activeBlue,
非活性颜色:CupertinoColors.SystemGray,
),
持续底部气压计(
图标:图标(CupertinoIcons.add),
标题:“添加”,
activeColor:CupertinoColors.activeBlue,
非活性颜色:CupertinoColors.SystemGray,
),
持续底部气压计(
图标:图标(CupertinoIcons.profile_圆圈),
标题:“个人资料”,
activeColor:CupertinoColors.activeBlue,
非活性颜色:CupertinoColors.SystemGray,
),
];
}
@凌驾
小部件构建(构建上下文){
返回PersistentTabView(
上下文
控制器:\ tab控制器,
屏幕:_buildScreens(),
项目:_navBarItems(),
);
}
}
我的Android Emulator中存在错误:

以及我的VCode中的调试控制台错误:


问题似乎在于您没有将navBarStyle传递给PersistentTabView。有多种NavBarStyle可供选择,其中每种都具有所需的其他值。有关详细信息,请参阅“”文档。请对您的代码进行以下更改并检查。注意:NavBarStyle.style7可能不是您要查找的NavBarStyle,因此请尝试其他样式

.....
return Scaffold(
  body: PersistentTabView(
    context,
    controller: _tabController,
    screens: _buildScreens(),
    items: _navBarsItems(),
    navBarStyle: NavBarStyle.style7,
  ),
....
.....
return Scaffold(
  body: PersistentTabView(
    context,
    controller: _tabController,
    screens: _buildScreens(),
    items: _navBarsItems(),
    navBarStyle: NavBarStyle.style7,
  ),
....