按鍵事件
按鍵事件指組件與鍵盤、遙控器等按鍵設備交互時觸發的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認不可獲焦的組件,可以設置focusable屬性為true后使用按鍵事件。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
從API Version 7開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
事件
名稱 | 支持冒泡 | 功能描述 |
---|---|---|
onKeyEvent(event: (event?: KeyEvent) => void) | 是 | 綁定該方法的組件獲焦后,按鍵動作觸發該回調,event返回值見[KeyEvent]介紹。 |
KeyEvent對象說明
名稱 | 類型 | 描述 |
---|---|---|
type | [KeyType] | 按鍵的類型。 |
[keyCode] | number | 按鍵的鍵碼。 |
keyText | string | 按鍵的鍵值。 |
keySource | [KeySource] | 觸發當前按鍵的輸入設備類型。 |
deviceId | number | 觸發當前按鍵的輸入設備ID。 |
metaKey | number | 按鍵發生時元鍵(即Windows鍵盤的WIN鍵、Mac鍵盤的Command鍵)的狀態,1表示按壓態,0表示未按壓態。 |
timestamp | number | 按鍵發生時的時間戳。 |
stopPropagation | () => void | 阻塞事件冒泡傳遞。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例
// xxx.ets
@Entry
@Component
struct KeyEventExample {
@State text: string = ''
@State eventType: string = ''
build() {
Column() {
Button('KeyEvent')
.onKeyEvent((event: KeyEvent) = > {
if (event.type === KeyType.Down) {
this.eventType = 'Down'
}
if (event.type === KeyType.Up) {
this.eventType = 'Up'
}
this.text = 'KeyType:' + this.eventType + 'nkeyCode:' + event.keyCode + 'nkeyText:' + event.keyText
})
Text(this.text).padding(15)
}.height(300).width('100%').padding(35)
}
}
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2392瀏覽量
43055
發布評論請先 登錄
相關推薦
鴻蒙ArkTS的起源和簡介
新的聲明式開發范式,基于Skia的自繪制引擎構建可跨平臺的獨立的渲染能力。這是一種較為創新的方案,不過也有幾點不足:
Dart語言生態。盡管
發表于 01-16 16:23
鴻蒙ArkTS聲明式開發:跨平臺支持列表【顯隱控制】 通用屬性
控制當前組件顯示或隱藏。注意,即使組件處于隱藏狀態,在頁面刷新時仍存在重新創建過程,因此當對性能有嚴格要求時建議使用[條件渲染]代替。 默認值:Visibility.Visible 從API version 9開始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開發:跨平臺支持列表【形狀裁剪】 通用屬性
參數為相應類型的組件,按指定的形狀對當前組件進行裁剪;參數為boolean類型時,設置是否按照父容器邊緣輪廓進行裁剪。 默認值:false 從API version 9開始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開發:跨平臺支持列表【分布式遷移標識】 通用屬性
組件的分布式遷移標識,指明了該組件在分布式遷移場景下可以將特定狀態恢復到對端設備。
評論