HarmonyOS Image展示本地图片失败

如图给image写死了uri

实际 展示不了图片

这个url是通过picker组件复制出来的

HarmonyOS  Image展示本地图片失败  -鸿蒙开发者社区解决方案

如果是注释的路径无法显示,可以通过拿到文件的沙箱路径,通过调用@ohos.file.fileuri模块的fileuri.getUriFromPath(file.path)将沙箱路径转化为沙箱uri,传入之后即可正常显示沙箱图片,

this.uri = fileUri.getUriFromPath(path);
Image(this.uri)

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fileuri-V5#fileurigeturifrompath

HarmonyOS 怎么让三列Scroll同步滑动? <a name="section8902113984416"></a>

问题描述

怎么让图中的三列Scroll 同步滑动?我尝试使用 onScroll 监听滑动距离,再通过 scrollTo 改变其它列,但是没有达到预期的效果,

我的demo代码如下:

@Entry
@Component
export struct SearchPage {
  statusBarHeight: string = AppStorage.get<number>('statusBarHeight') + 'px';
  pageInfos: NavPathStack = new NavPathStack()
  verticalScoller: Scroller = new Scroller()
  verticalScoller2: Scroller = new Scroller()
  hScoller: Scroller = new Scroller()

  @Builder ProductList() {
    Row() {
      Scroll(this.verticalScoller) {
        Column({space: 20}){
          Text("名称").height(100).backgroundColor(Color.Gray).width(80)
          Text("wwer").height(200).width(80)
          Text("123234").height(200).width(80)
          Text("wwer").height(200).width(80)
          Text("123234").height(200).width(80)
          Text("wwer").height(200).width(80)
          Text("123234").height(200).width(80)
          Text("wwer").height(200).width(80)
        }.alignItems(HorizontalAlign.Start).backgroundColor(Color.Yellow)

      }.onScroll((x: number , y: number) => {
        this.verticalScoller2.scrollTo({
          yOffset: y,
          xOffset: x
        })
      })

      Blank()
      Scroll(this.hScoller) {
        Row() {
          Scroll(this.verticalScoller2) {
            Column({space: 20}){
              Text("名称1").height(100).backgroundColor(Color.Gray).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
            }.alignItems(HorizontalAlign.Start).backgroundColor(Color.Pink)

          }
          Blank()
          Scroll(this.verticalScoller2) {
            Column({space: 20}){
              Text("名称2").height(100).backgroundColor(Color.Gray).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
              Text("123234").height(200).width(190)
              Text("wwer").height(200).width(190)
            }.alignItems(HorizontalAlign.Start).backgroundColor(Color.Orange)

          }

        }
      }.scrollable(ScrollDirection.Horizontal)

    }.width(WealthPageConstants.FULL_WIDTH)
  }

  build() {
    NavDestination() {
      Column() {
        this.ProductList()

      }.width(WealthPageConstants.FULL_WIDTH)
      .height(WealthPageConstants.FULL_HEIGHT)
    }.hideTitleBar(true)
    .onReady((context: NavDestinationContext) => {
      this.pageInfos = context.pathStack
    })
  }
}

HarmonyOS  Image展示本地图片失败  -鸿蒙开发者社区

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

onScroll事件会丢失精度,建议用currentOffset来获取当前的滚动偏移量实现吸顶效果,代码如下:

.onScroll((x: number , y: number) => {
  this.verticalScoller2.scrollTo({
    yOffset: this.verticalScoller.currentOffset().yOffset,
    xOffset: x
  })
})
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Image加载本地图片咨询
497浏览 • 1回复 待解决
HarmonyOS如何获取手机本地图片
672浏览 • 1回复 待解决
如何获取手机本地图片
473浏览 • 1回复 待解决
HarmonyOS customScan 如何扫描本地图片
55浏览 • 1回复 待解决
HarmonyOS 如何上传本地图片
187浏览 • 1回复 待解决
HarmonyOS 卡片使用本地图片作为背景
20浏览 • 1回复 待解决
如何保存本地图片到相册中
1126浏览 • 1回复 待解决
ArkUI(eTS)如何实现本地图片保存?
7161浏览 • 1回复 待解决
服务卡片设置本地图片显示空白
7451浏览 • 2回复 已解决
HarmonyOS 地图无法展示
50浏览 • 1回复 待解决
HarmonyOS 地图展示
31浏览 • 1回复 待解决
识别本地图片的方法有哪些?
433浏览 • 1回复 待解决
HarmonyOS 地图组件无法展示
200浏览 • 1回复 待解决