HarmonyOS 鸿蒙Next如何获取资源库图片路径,用于适配深色模式

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

HarmonyOS 鸿蒙Next如何获取资源库图片路径,用于适配深色模式

如何获取资源库图片路径,用于适配深色模式

容器组件Navigation的.menus属性中,需要填入icon图片地址,为适配深色模式这里要写成动态的,尝试了直接$r(‘app.media.xxx’)方式无效,应该返回的是一个对象。

用getMediaByNameSync的方法?如果是的话帮看下如何以拿到需求中所需的图片路径字符串。

或有其它方法,请多指教,谢谢。

代码片段:

Navigation(){
…
}
.menus([{
value: ‘’, icon: ‘resources/base/media/home_more_down.png’, action: () => {
router.pushUrl({ url: ‘pages/MorePage’ })
}
}
]) 


更多关于HarmonyOS 鸿蒙Next如何获取资源库图片路径,用于适配深色模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next如何获取资源库图片路径,用于适配深色模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,获取资源库图片路径以适配深色模式,可通过以下方式实现:

  1. 资源文件准备: 在resources目录下,创建rawfile文件夹,并分别创建drawable-lightdrawable-dark文件夹用于存放浅色和深色模式的图片资源。确保图片名称在两个文件夹中保持一致。

  2. 资源引用: 在代码中,通过资源ID引用图片。鸿蒙系统会根据当前系统主题(浅色或深色模式)自动选择对应文件夹中的图片。例如,假设图片资源名为example_image,则可通过$r:drawable/example_image引用。

  3. 获取图片路径: 鸿蒙系统提供了Uri类来处理资源URI。要获取图片路径,可以将资源URI转换为文件路径(尽管直接操作文件路径在鸿蒙中不常见,通常通过URI加载资源)。但为适配深色模式,推荐直接使用URI加载资源,避免手动管理路径。

    若确实需要路径(例如用于第三方库),可以尝试使用AssetFileDescriptor等API获取文件描述符,再转换为路径(此方法可能受限,不建议用于生产环境)。

  4. 深色模式适配: 确保应用的主题配置正确,能够响应系统深色模式切换。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部