pinch事件两个手指拖动时,获取的两个手指前后变化差值有问题?

如题:pinch事件两个手指拖动时,获取的两个手指前后变化差值有问题?

阅读 585
1 个回答

使用以下方式获取的两个手指前后变化差值,本地测试OK:

@Entry
@Component
struct GestureEntry {
  @State offsetY0:number = 0;
  @State offsetY1:number = 0;

  build() {
    Column() {
      Text('手势入口页')
      // // 拖拽事件
      Text('PanGesture Offset:\nX: ' + this.offsetY0 + '\n' + 'Y: ' + this.offsetY1)
        .fontSize(20)
        .height(200)
        .width(300)
        .padding(20)
        .border({ width: 3 })
        .gesture(// 绑定拖动手势
          PanGesture({ fingers: 2 })
            .onActionStart((event: GestureEvent) => {
              console.info('Pan start');
            })// 当触发拖动手势时,根据回调函数修改组件的布局位置信息
            .onActionUpdate((event: GestureEvent) => {
              if (event.fingerList.length == 2 && event) {
                this.offsetY0 = event.fingerList[0].localY-this.offsetY0;
                this.offsetY1 = event.fingerList[1].localY-this.offsetY1;
                console.info('GestureEvent with f0y:' + this.offsetY0 + ",f1y:" + this.offsetY1);
              }
            })
            .onActionEnd((event: GestureEvent) => {
            })
        )
    }.width('100%').padding(30)
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进