W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
用于觸發(fā)捏合手勢,觸發(fā)捏合手勢的最少手指為2指,最大為5指,最小識別距離為5vp。
從API Version 7開始支持。后續(xù)版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
PinchGesture(value?: { fingers?: number, distance?: number })
參數:
參數名稱 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
fingers | number | 否 | 觸發(fā)捏合的最少手指數, 最小為2指,最大為5指。 默認值:2 |
distance | number | 否 | 最小識別距離,單位為vp。 默認值:5 |
名稱 | 功能描述 |
---|---|
onActionStart(event:(event?: GestureEvent) => void) | Pinch手勢識別成功回調。 |
onActionUpdate(event:(event?: GestureEvent) => void) | Pinch手勢移動過程中回調。 |
onActionEnd(event:(event?: GestureEvent) => void) | Pinch手勢識別成功,手指抬起后觸發(fā)回調。 |
onActionCancel(event: () => void) | Pinch手勢識別成功,接收到觸摸取消事件觸發(fā)回調。 |
- // xxx.ets
- @Entry
- @Component
- struct PinchGestureExample {
- @State scaleValue: number = 1
- @State pinchValue: number = 1
- @State pinchX: number = 0
- @State pinchY: number = 0
- build() {
- Column() {
- Column() {
- Text('PinchGesture scale:\n' + this.scaleValue)
- Text('PinchGesture center:\n(' + this.pinchX + ',' + this.pinchY + ')')
- }
- .height(200)
- .width(300)
- .padding(20)
- .border({ width: 3 })
- .margin({ top: 100 })
- .scale({ x: this.scaleValue, y: this.scaleValue, z: 1 })
- // 三指捏合觸發(fā)該手勢事件
- .gesture(
- PinchGesture({ fingers: 3 })
- .onActionStart((event: GestureEvent) => {
- console.info('Pinch start')
- })
- .onActionUpdate((event: GestureEvent) => {
- this.scaleValue = this.pinchValue * event.scale
- this.pinchX = event.pinchCenterX
- this.pinchY = event.pinchCenterY
- })
- .onActionEnd(() => {
- this.pinchValue = this.scaleValue
- console.info('Pinch end')
- })
- )
- }.width('100%')
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: