HarmonyOS ArkUI C API使用NODE_BACKGROUND_IMAGE设置背景图无效果

ArkUI C API使用NODE_BACKGROUND_IMAGE设置背景图无效果。

设置代码:

ArkUINode &ArkUINode::SetBackgroundImage(const std::string &uri) {
  ArkUI_AttributeItem item = {.string = uri.c_str()};
  MaybeThrow(NativeNodeApi::GetInstance()->setAttribute(nodeHandle_, NODE_BACKGROUND_IMAGE, &item));
  return *this;
}

uri为:"resource://RAWFILE/vue2/assets/defaultSource.jpg"

作为对比,同样uri对image node设置可以正常显示图片,如下:

ArkUI_AttributeItem item;
uri_ = "resource://RAWFILE/vue2/assets/defaultSource.jpg";
item = {.string = uri_.c_str()};
MaybeThrow(NativeNodeApi::GetInstance()->setAttribute(nodeHandle_, NODE_IMAGE_SRC, &item));
HarmonyOS
2024-12-26 13:59:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

NODE_BACKGROUND_IMAGE目前仅支持从沙箱目录中获取文件,或是使用PixelMap类型的图片。对于这里需要使用的图片,建议可以:

  1. 将RAWFILE中的文件读取为PixelMap,使用其作为背景图片。
  2. 将图片放置在resfile目录中,通过沙箱目录路径设置为背景图片。
分享
微博
QQ
微信
回复
2024-12-26 17:20:11
相关问题
HarmonyOS 设置冷启动的背景图
773浏览 • 1回复 待解决
HarmonyOS 如何让背景图居中
255浏览 • 1回复 待解决
HarmonyOS 启动页背景图适配
278浏览 • 1回复 待解决
使用js引擎 设置dom背景无效
1004浏览 • 0回复 待解决
HarmonyOS camera设置对焦无效果
650浏览 • 1回复 待解决
HarmonyOS 组件设置属性无效果
667浏览 • 1回复 待解决
Image组件如何设置默认
1301浏览 • 1回复 待解决
HarmonyOS ArkUI C-API有文档吗?
631浏览 • 1回复 待解决