使用以下方式获取的两个手指前后变化差值,本地测试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) } }
使用以下方式获取的两个手指前后变化差值,本地测试OK: