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

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

相关推荐
前端小趴菜0537 分钟前
React-React.memo-props比较机制
前端·javascript·react.js
摸鱼仙人~2 小时前
styled-components:现代React样式解决方案
前端·react.js·前端框架
sasaraku.2 小时前
serviceWorker缓存资源
前端
RadiumAg3 小时前
记一道有趣的面试题
前端·javascript
yangzhi_emo3 小时前
ES6笔记2
开发语言·前端·javascript
yanlele4 小时前
我用爬虫抓取了 25 年 5 月掘金热门面试文章
前端·javascript·面试
中微子5 小时前
React状态管理最佳实践
前端
烛阴5 小时前
void 0 的奥秘:解锁 JavaScript 中 undefined 的正确打开方式
前端·javascript
中微子5 小时前
JavaScript 事件与 React 合成事件完全指南:从入门到精通
前端
Hexene...5 小时前
【前端Vue】如何实现echarts图表根据父元素宽度自适应大小
前端·vue.js·echarts