HarmonyOS 滑动时组件问题

希望通过滑动控制组件的位置,但第二次滑动时会跳一下,并且会有位置的偏移。

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

参考示例如下:

import { display } from '@kit.ArkUI';

@Entry
@Component
export struct PanGestureExample {
  @State offsetY: number = 0
  @State positionY: number = 0
  public static windowWidth: number = display.getDefaultDisplaySync().width;

  build() {
    Column() {
    }
    .width(PanGestureExample.windowWidth)
    .height(100)
    .backgroundColor(Color.Black)
    .opacity(0.3)
    .id('bgview')
    .alignRules({
      bottom: { anchor: "__container__", align: VerticalAlign.Bottom },
      left: { anchor: "__container__", align: HorizontalAlign.Start }
    })
    .translate({ x: 0, y: this.offsetY, z: 0 })
    .gesture(
      PanGesture()
        .onActionStart((event: GestureEvent | undefined) => {
          console.info('Pan start')
        })
        .onActionUpdate((event: GestureEvent | undefined) => {
          if (event) {
            this.offsetY = this.positionY + event.offsetY
          }
        })
        .onActionEnd((event: GestureEvent | undefined) => {
          if (event) {
            this.positionY = this.offsetY
          }
          console.info('Pan end')
        })
    )
  }
}

参考文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-gestures-pangesture.md

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Refresh组件嵌套滑动冲突问题
1032浏览 • 1回复 待解决
TabContent内web组件滑动问题
261浏览 • 2回复 待解决
HarmonyOS Refresh跟list组件惯性滑动问题
132浏览 • 1回复 待解决
HarmonyOS 滑动问题
81浏览 • 1回复 待解决
HarmonyOS 滑动冲突问题
560浏览 • 1回复 待解决
Tab组件内嵌web view左右滑动切换问题
286浏览 • 1回复 待解决
HarmonyOS Slider滑动问题
396浏览 • 1回复 待解决
HarmonyOS 嵌套滑动问题
374浏览 • 1回复 待解决
HarmonyOS scroll滑动问题
484浏览 • 1回复 待解决
HarmonyOS list滑动问题
847浏览 • 1回复 待解决
HarmonyOS 双向滑动Slider组件
59浏览 • 1回复 待解决