按鍵事件
按鍵事件指組件與鍵盤、遙控器等按鍵設(shè)備交互時(shí)觸發(fā)的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認(rèn)不可獲焦的組件,可以設(shè)置focusable屬性為true后使用按鍵事件。
說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
事件
名稱 | 支持冒泡 | 功能描述 |
---|---|---|
onKeyEvent(event: (event?: KeyEvent) => void) | 是 | 綁定該方法的組件獲焦后,按鍵動(dòng)作觸發(fā)該回調(diào),event返回值見[KeyEvent]介紹。 |
KeyEvent對象說明
名稱 | 類型 | 描述 |
---|---|---|
type | [KeyType] | 按鍵的類型。 |
[keyCode] | number | 按鍵的鍵碼。 |
keyText | string | 按鍵的鍵值。 |
keySource | [KeySource] | 觸發(fā)當(dāng)前按鍵的輸入設(shè)備類型。 |
deviceId | number | 觸發(fā)當(dāng)前按鍵的輸入設(shè)備ID。 |
metaKey | number | 按鍵發(fā)生時(shí)元鍵(即Windows鍵盤的WIN鍵、Mac鍵盤的Command鍵)的狀態(tài),1表示按壓態(tài),0表示未按壓態(tài)。 |
timestamp | number | 按鍵發(fā)生時(shí)的時(shí)間戳。 |
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)
}
}
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2339瀏覽量
42805
發(fā)布評論請先 登錄
相關(guān)推薦
評論