HarmonyOS 图片预览,通过小图看大图的组件或三方库?

如题:HarmonyOS 图片预览,通过小图看大图的组件或三方库?

阅读 401
1 个回答

示例参考如下:

ImageGesture.ets

@Component
export struct ImageGesture {
  @State visible: Visibility = Visibility.None
  build() {
    Stack() {
      Row() {
        Column() {
          Image($r('app.media.icon'))
            .width(100)
            .height(100)
            .onClick(() => {
              console.log("hit me!")
              if ( this.visible== Visibility.Visible) {
                this.visible = Visibility.None
              } else {
                this.visible = Visibility.Visible
              }
            })
        }
        .width('100%')
        .justifyContent(FlexAlign.Center)
        .alignItems(HorizontalAlign.Center)
      }
      .height('100%')

      Text('')
        .onClick(() => {
          if (this.visible == Visibility.Visible) {
            this.visible = Visibility.None
          } else {
            this.visible = Visibility.Visible
          }
        })
        .width('100%')
        .height('100%')
        .backgroundColor(0x000000)
        .visibility(this.visible)

      Column() {
        Image($r('app.media.icon'))
          .width(300)
          .height(300)
          .draggable(false)
          .visibility(this.visible)
      }
    }
  }
}

Index.ets

import {ImageGesture} from './ImageGesture'
@Entry
@Component
struct Index {
  build() {
    Column(){
      ImageGesture()
    }
    .height('100%')
  }
}

手指缩放参考一下链接:https://gitee.com/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/imageviewer/README.md