HarmonyOS 鸿蒙Next如何在ArkTs中动态更换图片
HarmonyOS 鸿蒙Next如何在ArkTs中动态更换图片
@State url: Resource = $r(‘app.media.sad_and_cry’)
<Image this.url> .onClick(() => { this.showDialog = true; this.url=$r(getAMedia(this.fullness, this.cleanliness, this.mood)); console.log("mediaSource"+this.url) }) ```我试图使用上面的代码动态更换图片,但是却没有达到想要的效果(当image被点击后,更新url,进而更新Image),看起来Image没有在url更新后自动刷新
更多关于HarmonyOS 鸿蒙Next如何在ArkTs中动态更换图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next如何在ArkTs中动态更换图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
大佬 请问一下是通过ResourceManager的getMediaContent方法获取到的图片的Uint8Array资源吗, 应该怎么做将Unit8Array加载到image控件里面呢,
同问,
希望HarmonyOS能继续加强在安全性方面的研发,保护用户的隐私和数据安全。
不支持动态参数
直接填网络地址,或者用 `resourceManage` 之类的动态获取本地图片
在HarmonyOS鸿蒙Next中使用ArkTS动态更换图片,可以通过ResourceManager
和Image
组件实现。首先,确保图片资源已放置在resources/base/media
目录下。然后,使用ResourceManager
获取图片资源,并通过Image
组件的src
属性动态设置图片路径。具体步骤如下:
- 在
resources/base/media
目录下放置图片,例如image1.png
和image2.png
。 - 在ArkTS中导入
ResourceManager
和Image
组件。 - 使用
ResourceManager
获取图片资源路径,例如通过this.context.resourceManager.getMediaContent
方法。 - 在
Image
组件中通过src
属性动态设置图片路径。
示例代码:
import { Image, ResourceManager } from '@ohos.resourceManager';
@Entry
@Component
struct DynamicImage {
@State imageSrc: string = '';
build() {
Column() {
Image(this.imageSrc)
.width(100)
.height(100)
.onClick(() => {
this.changeImage();
})
}
}
changeImage() {
const resourceManager: ResourceManager = this.context.resourceManager;
resourceManager.getMediaContent('image2.png').then((value) => {
this.imageSrc = value;
});
}
}
通过点击Image
组件,可以动态更换图片为image2.png
。