HarmonyOS 鸿蒙Next ImageAttachment 无法显示资源图片

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

HarmonyOS 鸿蒙Next ImageAttachment 无法显示资源图片

根据API文档 使用 ImageAttachment, 但是Text中只有一个空的间隔, 并不能显示资源图片

private async getPixmapFromMedia(resource: Resource) {

    let unit8Array = await getContext(this)?.resourceManager?.getMediaContent({

      bundleName: resource.bundleName,

      moduleName: resource.moduleName,

      id: resource.id

    })

    let imageSource = image.createImageSource(unit8Array.buffer.slice(0, unit8Array.buffer.byteLength))

    let createPixelMap: image.PixelMap = await imageSource.createPixelMap({

      desiredPixelFormat: image.PixelMapFormat.RGBA_8888

    })

    await imageSource.release()

    return createPixelMap

  }

let pixmap = await this.getPixmapFromMedia($r('app.media.ic_other_pay'))

      let styledStr = new MutableStyledString(new ImageAttachment({

        value: pixmap,

        size: { width: 50, height: 50 },

        layoutStyle: { borderRadius: LengthMetrics.vp(10) },

        verticalAlign: ImageSpanAlignment.BASELINE,

        objectFit: ImageFit.Contain

      }))

textCtrl.setStyledString(styledStr)

除了这个图片, 其他 文字能正常显示


更多关于HarmonyOS 鸿蒙Next ImageAttachment 无法显示资源图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
ImageAttachment不支持异步加载,也不能加载uri或者Resource。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-styled-string-V5#imageattachment

官方例子中imagePixelMap: image.PixelMap | undefined = undefined属性加上[@State](/user/State)即可

更多关于HarmonyOS 鸿蒙Next ImageAttachment 无法显示资源图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,若遇到Next ImageAttachment无法显示资源图片的问题,可能的原因及解决方案包括:

  1. 资源路径错误:确保图片资源已正确放置在项目的资源目录中,并检查在代码中引用的路径是否与文件实际位置一致。路径需遵循鸿蒙系统的资源引用规则。

  2. 图片格式不支持:鸿蒙系统支持的图片格式有限,请确认图片是否为系统支持的格式,如PNG、JPG等。

  3. 资源未正确编译:检查项目的构建配置,确保资源文件被正确包含并编译进最终的APK或HAP包中。

  4. 权限问题:确认应用是否已声明读取资源的必要权限,尽管通常资源访问不需要额外权限,但在某些特殊配置下可能需要检查。

  5. 组件状态:确保Next ImageAttachment组件处于可见且启用状态,且其父组件同样可见,未被遮挡或隐藏。

  6. 版本兼容性:检查所使用的鸿蒙SDK版本与设备系统版本是否兼容,有时新版本SDK中的特性在老版本设备上可能无法正常工作。

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

回到顶部