RotationGesture
用于觸發旋轉手勢事件,觸發旋轉手勢的最少手指為2指,最大為5指,最小改變度數為1度。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
從API Version 7開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
接口
RotationGesture(value?: { fingers?: number, angle?: number })
參數:
參數名稱 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
fingers | number | 否 | 觸發旋轉的最少手指數, 最小為2指,最大為5指。 默認值:2 |
angle | number | 否 | 觸發旋轉手勢的最小改變度數,單位為deg。 默認值:1**說明:**當改變度數的值小于等于0時,會被轉化為默認值。 |
事件
名稱 | 功能描述 |
---|---|
onActionStart(event:(event?: [GestureEvent]) => void) | Rotation手勢識別成功回調。 |
onActionUpdate(event:(event?: [GestureEvent]) => void) | Rotation手勢移動過程中回調。 |
onActionEnd(event:(event?: [GestureEvent]) => void) | Rotation手勢識別成功,手指抬起后觸發回調。 |
onActionCancel(event: () => void) | Rotation手勢識別成功,接收到觸摸取消事件觸發回調。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例
// xxx.ets
@Entry
@Component
struct RotationGestureExample {
@State angle: number = 0
@State rotateValue: number = 0
build() {
Column() {
Column() {
Text('RotationGesture angle:' + this.angle)
}
.height(200)
.width(300)
.padding(20)
.border({ width: 3 })
.margin(80)
.rotate({ angle: this.angle })
// 雙指旋轉觸發該手勢事件
.gesture(
RotationGesture()
.onActionStart((event?: GestureEvent) = > {
console.info('Rotation start')
})
.onActionUpdate((event?: GestureEvent) = > {
if (event) {
this.angle = this.rotateValue + event.angle
}
})
.onActionEnd(() = > {
this.rotateValue = this.angle
console.info('Rotation end')
})
)
}.width('100%')
}
}
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2358瀏覽量
42876
發布評論請先 登錄
相關推薦
鴻蒙ArkTS聲明式開發:跨平臺支持列表【顯隱控制】 通用屬性
控制當前組件顯示或隱藏。注意,即使組件處于隱藏狀態,在頁面刷新時仍存在重新創建過程,因此當對性能有嚴格要求時建議使用[條件渲染]代替。 默認值:Visibility.Visible 從API version 9開始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開發:跨平臺支持列表【形狀裁剪】 通用屬性
參數為相應類型的組件,按指定的形狀對當前組件進行裁剪;參數為boolean類型時,設置是否按照父容器邊緣輪廓進行裁剪。 默認值:false 從API version 9開始,該接口支持在ArkTS卡片中使用。
評論