Flutter 从资源加载图像时出错
我正在尝试使用PNG文件作为图标图像 我的项目根目录中有一个Flutter 从资源加载图像时出错,flutter,dart,Flutter,Dart,我正在尝试使用PNG文件作为图标图像 我的项目根目录中有一个assets文件夹 文件的路径是assets/icons/Dumbbell.png 我在pubspec文件中加载了我的资产: flutter: uses-material-design: true assets: - assets/icons/ 在有状态小部件的状态下,我尝试使用它: @override Widget build(BuildContext context) { return Scaffol
assets
文件夹
文件的路径是assets/icons/Dumbbell.png
我在pubspec文件中加载了我的资产:
flutter:
uses-material-design: true
assets:
- assets/icons/
在有状态小部件的状态下,我尝试使用它:
@override
Widget build(BuildContext context) {
return Scaffold(
...
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
title: Text('Workout'),
icon: Image.asset(
'assets/icons/Dumbbell.png',
),
),
],
),
);
}
@覆盖
小部件构建(构建上下文){
返回脚手架(
...
底部导航栏:底部导航栏(
项目:常数[
底部导航气压计(
标题:文本(“训练”),
图标:Image.asset(
“资产/图标/Dumbbell.png”,
),
),
],
),
);
}
我就是做不到
编辑:我删除了
const
关键字,并添加了另一个BottomNavigationBarItem
,现在一切都很正常 请使用此演示再试一次
Image(image: AssetImage('assets/images/intro_0.jpg'),fit: BoxFit.fitWidth,)
diegoveloper的话是对的。底部导航栏还需要两个项目。
这些守则行之有效:
bottomNavigationBar:BottomNavigationBar(
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
title: Text('Workout'),
icon: Image(image: AssetImage('assets/images/intro_0.jpg'),fit: BoxFit.fitWidth,),
),
BottomNavigationBarItem(
title: Text('Workout'),
icon: Image(image: AssetImage('assets/images/intro_0.jpg'),fit: BoxFit.fitWidth,),
),
],
),
bottomNavigationBar:bottomNavigationBar(
项目:[
底部导航气压计(
标题:文本(“训练”),
图标:Image(Image:AssetImage('assets/images/intro_0.jpg'),fit:BoxFit.fitWidth,),
),
底部导航气压计(
标题:文本(“训练”),
图标:Image(Image:AssetImage('assets/images/intro_0.jpg'),fit:BoxFit.fitWidth,),
),
],
),
试试这个
使用ImageIcon类而不是Image.asset
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: ImageIcon(AssetImage("assets/mascot.png")),
title: Text("workout"),
),
],
),
bottomNavigationBar:bottomNavigationBar(
项目:常数[
底部导航气压计(
图标:ImageIcon(AssetImage(“assets/mascot.png”),
标题:文本(“训练”),
),
],
),
要解决您的问题,只需删除const
关键字,因为您的图标不是常量,而且您需要至少两个底部导航栏
小部件才能使其正常工作:
items: [
BottomNavigationBarItem(
title: Text('Workout'),
icon: Image.asset(
'assets/icons/Dumbbell.png',
),
),
BottomNavigationBarItem(
title: Text('Another item'),
icon: Image.asset(
'assets/icons/Dumbbell.png',
),
),
],
这里有更多信息:我想你是从dart软件包中加载图像的吧?否则,您应该删除package属性。感谢您的观察!这是我尝试过的东西,但没有成功。我只是编辑了我的问题,但它无论如何都不起作用(无论如何,在Flatter 1.5.4-hotfix.2中),const将导致错误,并且有一个断言要求BottomNavigationBarItem[]中至少有两个孩子。您是否遇到了某种错误,比如断言失败?添加另一个BottomNavigatorBarItem并查看。@Leandro是否收到运行时错误?或者只是看不到渲染的图像?(我现在无法测试您的代码)在添加行-资产/图标/?谢谢您的回答代码,\u Li,但它不起作用:/有其他建议吗?