1# RotationGesture 2 3用于触发旋转手势事件,触发旋转手势的最少手指为2指,最大为5指,最小改变度数为1度。 4 5> **说明:** 6> 7> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9 10## 接口 11 12RotationGesture(value?: { fingers?: number, angle?: number }) 13 14**参数:** 15 16| 参数名称 | 参数类型 | 必填 | 参数描述 | 17| -------- | -------- | -------- | -------- | 18| fingers | number | 否 | 触发旋转的最少手指数, 最小为2指,最大为5指。<br/>默认值:2 | 19| angle | number | 否 | 触发旋转手势的最小改变度数,单位为deg。<br/>默认值:1 | 20 21 22## 事件 23 24| 名称 | 功能描述 | 25| -------- | -------- | 26| onActionStart(event:(event?: [GestureEvent](ts-gesture-settings.md#gestureevent对象说明)) => void) | Rotation手势识别成功回调。 | 27| onActionUpdate(event:(event?: [GestureEvent](ts-gesture-settings.md#gestureevent对象说明)) => void) | Rotation手势移动过程中回调。 | 28| onActionEnd(event:(event?: [GestureEvent](ts-gesture-settings.md#gestureevent对象说明)) => void) | Rotation手势识别成功,手指抬起后触发回调。 | 29| onActionCancel(event: () => void) | Rotation手势识别成功,接收到触摸取消事件触发回调。 | 30 31 32## 示例 33 34```ts 35// xxx.ets 36@Entry 37@Component 38struct RotationGestureExample { 39 @State angle: number = 0 40 @State rotateValue: number = 0 41 42 build() { 43 Column() { 44 Column() { 45 Text('RotationGesture angle:' + this.angle) 46 } 47 .height(200) 48 .width(300) 49 .padding(20) 50 .border({ width: 3 }) 51 .margin(80) 52 .rotate({ angle: this.angle }) 53 // 双指旋转触发该手势事件 54 .gesture( 55 RotationGesture() 56 .onActionStart((event: GestureEvent) => { 57 console.info('Rotation start') 58 }) 59 .onActionUpdate((event: GestureEvent) => { 60 this.angle = this.rotateValue + event.angle 61 }) 62 .onActionEnd(() => { 63 this.rotateValue = this.angle 64 console.info('Rotation end') 65 }) 66 ) 67 }.width('100%') 68 } 69} 70``` 71 72 ![zh-cn_image_0000001174264372](figures/zh-cn_image_0000001174264372.png )