HarmonyOS image图片纵向横向滑动

HarmonyOS
2024-12-26 14:18:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa
@Entry
@Component
struct Scroll_Free {
  private scrollController: Scroller = new Scroller();
  private scrollControllerOut: Scroller = new Scroller();
  @State scaleValue: number = 1;
  @State pinchValue: number = 1;
  @State pinchX: number = 0;
  @State pinchY: number = 0;
  aboutToAppear(): void {
    let list: number[] = []
    for (let i = 1; i <= 10; i++) {
      list.push(i);
    }
  }
  build() {
    Column() {
      Scroll(this.scrollControllerOut) {
        Scroll(this.scrollController) {
          Column() {
            Image($r('app.media.mid'))
              .height(1000)
              .width(600)
          }
        }
        .scrollable(ScrollDirection.Horizontal)
        .nestedScroll({ scrollForward: NestedScrollMode.PARALLEL, scrollBackward: NestedScrollMode.PARALLEL })
      }
      .scrollable(ScrollDirection.Vertical)
      .scale({ x: this.scaleValue, y: this.scaleValue, z: 1 })
      .gesture(PinchGesture({ fingers: 2 }).onActionStart((event: GestureEvent | undefined) => {
        console.info('Pinch start');
      })
        // 当捏合手势触发时,可以通过回调函数获取缩放比例,从而修改组件的缩放比例
        .onActionUpdate((event: GestureEvent | undefined) => {
          if (event) {
            this.scaleValue = this.pinchValue * event.scale;
            this.pinchX = event.pinchCenterX;
            this.pinchY = event.pinchCenterY;
          }
        })
        .onActionEnd(() => {
          this.pinchValue = this.scaleValue;
          console.info('Pinch end');
        })
      )
    }.height('100%').width('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-26 17:05:09
相关问题
HarmonyOS Grid横向滑动
654浏览 • 1回复 待解决
如何实现纵向且逆向滑动的Slider?
636浏览 • 1回复 待解决
HarmonyOS Tabs和横向Scroll滑动冲突
173浏览 • 1回复 待解决
HarmonyOS 多张画布横向合成一张图片
189浏览 • 1回复 待解决
HarmonyOS Image加载图片
132浏览 • 1回复 待解决
HarmonyOS 图片组件手势滑动
75浏览 • 1回复 待解决
HarmonyOS Image图片无法加载
280浏览 • 1回复 待解决
HarmonyOS Image加载网络图片
71浏览 • 1回复 待解决
HarmonyOS Image组件加载图片报错
244浏览 • 1回复 待解决
HarmonyOS Image加载图片不出现
294浏览 • 1回复 待解决