flutter assets配置加载本地图片报错

首选列出我在照着网上说的设置assets怎么搞都报错,错误如下,搞的我想骂娘。

flutter:

uses-material-design: true

assets:

  • assets/images

后来找到了下面这个教程,才终于解决,就是要在后面加一个"/" 。

flutter这个大傻逼yaml配置文件太傻逼了吧。差评!!!

**在Flutter中,不需要将每个图片单独列出来。**‌你可以通过指定一个包含所有相关图片的目录来实现资源的批量引用,而不需要逐个列出每个文件。这种方法不仅简化了配置过程,还提高了开发效率‌。

pubspec.yaml文件中声明资源时,你可以选择逐个指定文件或通过子目录批量指定。逐个指定需要提供文件的完整相对路径,而批量指定只需在目录名后加上路径分隔符即可。需要注意的是,目录批量指定并不递归,只有该目录下的文件可以被包括,如果有子目录,需要单独声明子目录下的文件‌。

例如,如果你有一个名为assets的文件夹,其中包含多个图像文件和一些子文件夹,你可以这样声明:

flutter:

assets:

- assets/image1.png

- assets/images/

这里的assets/images/表示所有位于assets/images目录下的文件都将被包含进来,而不需要逐个列出每个文件‌。这里着重强调的最新版的flutter在设置目录的时候一定要带上最后的"/",不然会报错。

最后,完成资源的声明后,就可以在代码中通过Image.asset()方法访问这些资源了。例如:

dartCopy Code

Image.asset('assets/image1.png')

或者

Image.asset('assets/images/mine/navBack.png')

这样,Flutter会自动从声明的资源中查找并加载相应的图片‌。

复制代码
import 'package:flutter/material.dart';


class SplashPage extends StatefulWidget {
  const SplashPage({super.key});

  @override
  State<SplashPage> createState() => _SplashPageState();
}

class _SplashPageState extends State<SplashPage> {
  @override
  Widget build(BuildContext context) {
     return  Scaffold(
          body: Stack(
            children: [
                 Image.asset(
                      'assets/images/ic_launcher.png',
                      fit: BoxFit.cover
                ),
                  Image.asset(
                      'assets/images/bg.jpg',
                      fit: BoxFit.cover
                )
            ],
          )
     );
  }
}

最后图片终于显示出来了:

相关推荐
前端 贾公子几秒前
第06章:结构化输出 (上)
java·服务器·前端
北斗落凡尘4 分钟前
React面试题
前端
张元清5 分钟前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
一棵白菜27 分钟前
mac 部署 n8n
前端
学高数就犯困30 分钟前
React:常见的性能优化手段
前端·react.js
天天码行空30 分钟前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js
东方小月30 分钟前
从零开发一个 Coding Agent(五):使用 TypeBox 校验工具参数
前端·人工智能·后端
我要两颗404西柚41 分钟前
Stage four:VUE项目上线
前端·javascript·vue.js
尤乐娃子1 小时前
进入大厂(厂子大)实习Day8
前端·笔记·实习
醉城夜风~1 小时前
CSS盒模型(Box Model)
前端·css