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
                )
            ],
          )
     );
  }
}

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

相关推荐
孩子 你要相信光10 分钟前
css之一个元素可以同时应用多个动画效果
前端·css
萌萌哒草头将军11 分钟前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite
huangql52021 分钟前
npm 发布流程——从创建组件到发布到 npm 仓库
前端·npm·node.js
Qlittleboy35 分钟前
uniapp如何使用本身的字体图标
javascript·vue.js·uni-app
Days205037 分钟前
LeaferJS好用的 Canvas 引擎
前端·开源
小白菜学前端1 小时前
vue2 常用内置指令总结
前端·vue.js
林_深时见鹿1 小时前
Vue + ElementPlus 自定义指令控制输入框只可以输入数字
前端·javascript·vue.js
GDAL1 小时前
Knockout.js 任务调度模块详解
javascript·knockout
椒盐螺丝钉1 小时前
Vue组件化开发介绍
前端·javascript·vue.js
koooo~1 小时前
v-model与-sync的演变和融合
前端·javascript·vue.js