flutter加载本地图片

Flutter 图片加载,纯干货 1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要!最后你达到什么水平取决你消化了多少知识3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境。 阅读详情

一、步骤

1.在工程根目录下创建images文件夹,将图片放入该目录中

 

2.在工程pubspec.xml文件中,找到flutter,添加刚才放入的图片

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/icon_settings.png

3.在代码中加载本地图片,有两种方式

// 方式一
Image(
  image: AssetImage('images/icon_settings.png'),
  width: 24,
  height: 24,
),

// 方式二
Image.asset('images/icon_settings.png',
  width: 24,
  height: 24,
),

flutter加载本地图片步骤很简单,但里面有许多需要注意的点,不然很容易报错,踩坑 。

二、注意的点

1.在pubspec.yaml文件中添加图片时,由于 yaml 文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处 assets 前面应有两个空格。即assets要比flutter缩进两格,与上面默认的uses-material-design对齐,缩进格式不对的话会报如下错误:

Error detected in pubspec.yaml:
Error on line 48, column 4: Expected a key while parsing a block mapping.
   ╷
48 │    assets:
   │    ^
   ╵

相信有不少小伙伴是直接使用快捷键取消工程原本模板中的assets内容,就会出现此编译错误,重新对齐编译就好。

注:assets下的图片不需要严格的按照两格的缩进,但是图片前的间隔符-必须要有,并且图片和间隔符至少要有一个空格,不然也会报错:

错误一:

  # To add assets to your application, add an assets section, like this:
  assets:
    images/icon_settings.png

错误一报错如下: 

Error detected in pubspec.yaml:
Expected "assets" to be a list, but got images/icon_settings.png (String).

错误二:

  # To add assets to your application, add an assets section, like this:
  assets:
    -images/icon_settings.png

 错误二报错如下:

Error detected in pubspec.yaml:
Expected "assets" to be a list, but got -images/icon_settings.png (String).

不会报错的写法: 

正确一:标准写法

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/icon_settings.png

正确二:间隔符-比assets缩进三格

  # To add assets to your application, add an assets section, like this:
  assets:
     - images/icon_settings.png

正确三:间隔符-后两个空格

  # To add assets to your application, add an assets section, like this:
  assets:
    -  images/icon_settings.png

正确四:间隔符-比assets缩进三格,并且后两个空格

  # To add assets to your application, add an assets section, like this:
  assets:
     -  images/icon_settings.png

建议大家都采用标准写法,避免出现错误找不到地方,同时也保证了代码规范~

2.pubspec.yaml文件assets声明时、代码中使用图片时,要确保图片名称及后缀都与images目录下图片名称及后缀保持一致,由于flutter在引用资源时不会有代码智能提示,资源都得手动写入,比较容易出现文件名书写错误的问题。图片的后缀类型如png也必须加上。

建议大家images下的图片名称采用全小写加下划线的方式书写(如:icon_settings.png),然后复制图片的全名称(图片名+类型)添加到yaml文件和代码文件中。

3.images目录下可以再创建子目录,子目录里的图片在声明或加载时要写全路径:

yaml中声明:

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/me/icon_avatar.png
    - images/icon_settings.png

 代码中加载:

// 方式一
Image(
  image: AssetImage('images/me/icon_avatar.png'),
  width: 24,
  height: 24,
),

// 方式二
Image.asset('images/me/icon_avatar.png',
  width: 24,
  height: 24,
),

小技巧:yaml文件中声明图片时,可以只声明目录,这样目录下所有的图片都会被声明,不用再麻烦声明每一个图片:

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/me/

 注意,只声明目录时,后面的反斜杠/必须带上,否则会报如下错误:

Error detected in pubspec.yaml:
No file or variants found for asset: images/me.

4. 加载项目中所有第三方依赖包中的本地图片时,需要在代码中添加包名;而加载项目自身的本地图片时,则不需要添加包名。不按要求都会报错!!!

// 加载自身的图片,不需要加package包名
Image.asset('images/icon_settings.png',
  width: 24,
  height: 24,
),

// 加载依赖包中的图片,需要加package包名
Image.asset('images/icon_share.png',
  width: 24,
  height: 24,
  package: 'com.xxx.xxx', //正确的依赖包包名
),

Flutter高效开发之本地资源图片的引用 在继续上一篇原创 Flutter高效开发之封装Text后,我们再次封装了本地资源文件的引用操作。 class MImage { static String getImgPath(String imgPath) { return 'libres/images/$imgPath'; } static Image assetImage(String imgPath, double width, double height, {BoxFit fit = BoxFit.scaleDo 阅读详情

相关推荐

Flutter 加载本地图片出错

一、出错原因 ======== Exception caught by image resource service ================================================ The following assertion was thrown resolving an image codec: Unable to load asset: images/icon_log.png When the exception was thrown, this was the

honeylife的博客 2198

Flutter加载图片

Flutter加载图片

juer2017的博客 1050

【Flutter】Flutter 显示本地图片

在 Flutter 中,我们可以通过 Image Widget 来显示图片。Image Widget 支持多种图片源,包括网络图片、本地图片、内存中的图片等。对于本地图片,我们通常将其放在项目的 assets 文件夹中,然后在 pubspec.yaml 文件中进行配置,最后通过 AssetImage 类来加载。

Code Metaverse 1558

【Flutter】加载本地/网络图片

1.在AndroidManifest.xml修改配置。

dzt2630849356的博客 1246

从机械臂示教到厨房做饭:ACT模仿学习如何让机器人更“人性化”?

本文探讨了ACT(Action Chunking with Transformers)模仿学习技术如何让机器人更“人性化”,特别是在厨房等复杂场景中的应用。通过动作分块(Action Chunking)和时态融合(Temporal Ensemble)技术,机器人能够像人类一样记忆和执行复杂任务,如烹饪。文章还分析了ACT在家庭场景中的落地挑战及其在康复医疗、柔性制造等领域的跨领域应用潜力。

weixin_30613343的博客 255

[cryoEM] cryoSPARC简介

cryoSPARC系统结构概述 cryoSPARC是一个后端和前端高性能计算软件系统,为单颗粒冷冻电镜提供数据处理和图像分析能力,以及丰富的基于浏览器的用户截面和命令行工具。 Master-worker模式 系统基于主用户模式。 主进程(web应用,核心应用程序和MongoDB数据库)一起在主节点上运行。主节点需要相对轻量级的资源(2+ CPU< 16GB+ RAM)。 工作程序进程可以在具有GPU的任何可用节点上生成,负责所有实际计算和数据处理,并由主节点调度。注意:同一节点可以同时充当主节点和辅

进阶中的程序员吃吃的博客 7796

flutter加载不同分辨率本地图片

flutter移动开发怎么加载本地图片,首先在该项目根目录也就是和ios,android同级创建一个images文件夹用来存放图片资源, 然后放入需要加载的图片资源例如ic_phone.png,然后在项目目录下找到pubspec.yaml文件打开,声明图片: 这样就可以在代码中使用 了 Image.asset('images/ic_qq.png') 如何加载不同分辨率的图呢,例如androi...

duolaimila的博客 9047

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 543

Flutter怎么加载本地图片

跟着博主看了这么久的flutter,有没有收获呀,各位 但是你们居然没有问,怎么去运行加载出一张本地图片 第一步,打开我们的工程,找到红框的文件 第二步,打开它,然后修改下面的代码 如果按照这种格式去加载本地图片,太耗时了,还得一张一张的去写路径 ,所以可以按照我的写 提示: 这个被我们修改的文件是很讲究格式滴,尤其是你在这个文件添加一些资源文件,依赖版本什么的,都要注意格式和写法,有时候多一个空格都不行哦,严格对齐 在代码里面引入本地图片是: image.asset(“图片路径”) ...

weixin_45425105的博客 1975

从零实现机械臂抓取仿真:用MoveIt+Gazebo完成物体pick&place全流程

本文详细介绍了如何使用ROS的MoveIt框架与Gazebo仿真环境,从零构建机械臂抓取仿真系统。涵盖环境搭建、MoveIt配置、Gazebo集成、抓取动作实现等全流程,帮助开发者掌握机械臂控制的核心技术,实现高效的pick&place任务。

weixin_29250403的博客 476

一、两电平IGBT整流器

电压源换流器(Voltage source converter,VSC)连接交流主网和直流电网,起到交直流网络连接、功率输送和电能变换的作用。采用电压控制手段可维持直流电压的稳定;或采用功率控制手段保证系统功率输出达到预期。VSC的三相电压平衡方程如式(1)所示:式中,igx和ugx分别表示主网三相电流与电压(x=a,b,c);ucx表示换流器VSC 交流输出电压;Rg表示交流主网等效电阻;Lg表示交流主网等效电感。

TUCHACHINA的博客 4159

flutter的本地图片加载示例

build方法中返回一个MaterialApp,设置了应用的标题为 ‘Flutter Windows Logo Example’,主题颜色为蓝色,并指定了应用的首页为MyHomePage。这段代码是一个使用 Flutter 框架构建的应用程序,主要展示了在 Windows 平台上如何加载并显示一个本地的图片资源(Flutter 标志),并在其下方添加一段描述性文本。这段代码实现了一个Flutter应用的首页,其中使用Image.asset来显示本地图片,并在其中垂直排列了文本。MyHomePage类。

weixin_42668920的博客 635

3线SWD接线终极指南:用Jlink调试非3.3V设备的5个关键细节

本文详细解析了使用Jlink调试非3.3V设备时,3线SWD接线的5个关键细节。核心在于正确理解并连接Vref引脚以实现电压适配,避免供电冲突,并掌握精简接线法与固件修复技巧。文章以STM32F205等芯片为例,指导开发者安全、高效地进行混合电压调试。

e4f5g6h7的博客 437

【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )

一、加载网络图片、 二、加载静态图片、 三、加载本地图片、 四、完整代码示例、 五、相关资源

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 3840

S-function入门及案例详解(3)——S-function进阶案例

目录1.案例描述2.案例详解3.输出波形4.对输入参数进行Mask打包 1.案例描述 设计一个蹦极系统 h为离地面高度,输入参数为长度、质量、离地面高度。 2.案例详解 步骤1.可以修改sfuntmpl函数的名称(这里修改为bengji),并在括号内增加输入参数 参数len,weight,dist分别表示长度、质量、离地面高度;长度用来初始化x0,质量用来初始化m,离地面高度用来初始化h。 function [sys,x0,str,ts,simStateCompliance] = bengji(t,x,u

Wendy的博客 1万+

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

flutter加载本地图片异常

开发中使用 Image.asset("assets/images/close.png") 加载本地图片,结果异常: ======== Exception caught by image resource service ================================================ The following assertion was thrown resolving an image codec: Unable to load asset: assets/

u011228060的专栏 2058

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Flutter学习笔记:使用DecorationImage加载本地图片的坑

前言部分 我在做Flutter的项目中使用DecorationImage加载本地图片,但是发现怎么加载都是 Unable to load asset: xxx.jpeg(图片名称) 我仔细检查了我的pubspec.yaml文件,因为我以前使用过本地的图片资源,但是这次怎么也不成功,所以推测配置应该说没啥问题的。 assets: - assets/images/flower.jpg ...

鲨鱼不会飞的博客 2万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

flutter 本地加载图片不显示图片

flutter 本地资源文件 我需要使用一个本地图片 但是没有显示 需要在需要在pubspec.yaml这个配置文件中设置图片的路径 可以显示了

blithe影子 1888

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

flutter图片预览_Flutter加载本地图片躺坑记录

步骤1.在根目录建立一个文件夹,名称建议叫images2.在此文件夹下建立两个文件夹,一个为2.0x,一个为3.0x,分别放置2倍图和3倍图,正常的图片直接放置到images文件夹下images.png3.在pubspec.yaml文件中申明本地图片:# The following section is specific to Flutter.flutter:# The following lin...

weixin_39639698的博客 378

【Flutter】Image 组件 ( 配置本地 gif 图片资源 | 本地资源加载 placeholder )

一、配置本地 gif 图片资源、 二、本地资源加载 Placeholder、 三、完整代码示例、 四、相关资源

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 3732

Flutter加载本地图片报错Unable to load asset:xx.png

在Flutter项目根目录创建存放图片的文件夹,例如:images 在项目pubspec.yaml文件里,flutter节点下,添加如下: assets: - images/logo.png 加载图片: 使用Image部件加载本地图片 assets:前面所留的空格要和其它配置属性对齐 比如 uses-material-design: true 这样才能正确加载出图片 希望能帮助遇到相同问题的你。 ...

旧时光っ 1292

flutter 加载图片资源包含本地和网络资源

配置资源 1.在pubspec.yaml中的flutter部分添加如下内容: assets: - images/avatar.png flutter 加载本地资源 new Image.asset("assets/images/wechat.png") // or new Image( image: new AssetImage("assets/images/wechat.png")...

senkai123的博客 1293

flutter加载网络图片与本地图片

flutter 实现加载网络图片与本地图片

f234344435的博客 1182

flutter图片预览_Flutter -------- 加载本地图片资源和网络图片

在Flutter加载本地图片资源在Flutter项目目录下创建文件夹 images ,在文件夹中添加几张图片指定资源pubspec.yaml文件中version: 1.0.0+1environment:sdk:">=2.1.0 <3.0.0"--------flutter:this:assets:- images/lake.jpg- images/a.png- images/pic1....

weixin_39788960的博客 348
上一篇: Edittext使用的那些事儿--输入金额
下一篇: flutter自定义显示弹框dialog工具类使用
Over_dose
博客等级 码龄10年 9粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值