HarmonyOS鸿蒙Next中全局图片资源放在AppScope-resources-base-media目录下如何在其他hap包引入

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS鸿蒙Next中全局图片资源放在AppScope-resources-base-media目录下如何在其他hap包引入 全局使用到的图片资源可以放在AppScope-resources-base-media目录下怎么在其他hap包引入

4 回复

如果工程是多hap,要在其他hap包使用,$r('app.media.file_png')是可以访问到的,若访问不到可以尝试去掉图片名称的特殊字符。注意如果是在其他har包或者hsp包使用,目前是不支持的,并且会报错。

更多关于HarmonyOS鸿蒙Next中全局图片资源放在AppScope-resources-base-media目录下如何在其他hap包引入的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你好,我想请问下,如果想要上传某个包中的图片到远端服务器,目前鸿蒙可以做到吗?

在HarmonyOS鸿蒙Next中,全局图片资源放置在AppScope/resource/base/media目录下,其他HAP包引入这些资源时,可以通过$media关键字进行引用。具体步骤如下:

  1. 资源路径确认:确保图片资源已正确放置在AppScope/resource/base/media目录下。

  2. 资源引用:在其他HAP包的resource目录下的media文件夹中,通过$media关键字引用全局资源。例如,若全局资源中有一个图片文件icon.png,在其他HAP包的resource/base/media目录下,可以直接在$media:icon.png中引用。

  3. 资源使用:在代码或布局文件中,使用$media关键字引用全局图片资源。例如,在XML布局文件中使用$media:icon.png

  4. 编译与运行:编译并运行应用,确保全局图片资源在其他HAP包中正确显示。

通过以上步骤,可以在其他HAP包中成功引入并使用AppScope/resource/base/media目录下的全局图片资源。

在HarmonyOS鸿蒙Next中,要将AppScope下的全局图片资源引入其他hap包,可以通过resourceManager模块实现。首先,确保图片资源放置在AppScope/resource/base/media目录下。然后,在其他hap包中使用以下代码获取资源:

let context = getContext(this) as common.UIAbilityContext;
let resourceManager = context.resourceManager;
let image = await resourceManager.getMediaContent($r('app.media.image_name'));

其中image_name是图片资源的名称,无需后缀。通过这种方式,其他hap包即可访问AppScope下的全局图片资源。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!