Flutter 从资源加载图像时出错

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

我正在尝试使用PNG文件作为图标图像

我的项目根目录中有一个
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,但它不起作用:/有其他建议吗?