HarmonyOS 鸿蒙Next Image组件加载图片资源的问题

发布于 1周前 作者 zlyuanteng 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Image组件加载图片资源的问题

Image组件加载Resource 下的图片,用 Image($r(‘app.media.desert’)) 可以正常加载出来。但是 把这个字符串赋给一个string变量,后就加载不出来,语法如下:

@State myImage:string=‘app.media.desert’

Image($r(myImage)) 

为什么上面这两行无法加载出图片呢?

7 回复

要像通过字符串的形式引用图片资源,可在pages同级新建image目录,将图片放在该目录,则可以通过字符串形式的路径访问图片。 使用方法:

 @State  imageStr: string = "/image/resource_010.png"
Image(this.item.picturePath)

Image加载不需要$r(),直接赋值字符串就可以了。

因为不应该用string类型,应该定义状态变量为ResourceStr类型,

@State imgUrl:ResourceStr = $r('app.media.aaaaa')

加this 了,string 变量的值是参数传进来的。文本能正常加载,图片就不行

cke_5642.png

cke_5971.png

cke_277.png

Image($r(myImage))  这个少了个this吧

实测可以加载

cke_1426.png

cke_503.png

如果有一个foreach遍历,然后每个list的Image需要根据foreach拼接。我写了一个function,参数是foreach的item。返回值是string, 然后这样写就不起作用了。

关于HarmonyOS 鸿蒙Next Image组件加载图片资源的问题,Image组件支持加载本地和网络图片资源。对于本地图片,可放在应用的资源目录(如assets或resources)下,通过相应路径引用。加载网络图片时,需确保已申请网络权限,并正确设置图片URL。Image组件还支持多种图片格式,如PNG、JPG等。

回到顶部