組件快捷鍵事件
開發者可以設置組件的自定義組合鍵,組合鍵的行為與click行為一致,組件在未獲得焦點狀態下也可以響應自定義組合鍵,每個組件可以設置多個組合鍵。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
從API Version 10開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
接口
keyboardShortcut(value: string | [FunctionKey], keys: Array<[ModifierKey]>)
參數:
參數名 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
value | string | [FunctionKey] | 是 |
keys | Array<[ModifierKey]> | 是 | 熱鍵組合。 |
ModifierKey
名稱 | 描述 |
---|---|
CTRL | 表示鍵盤上Ctrl鍵。 |
SHIFT | 表示鍵盤上Shift鍵。 |
ALT | 表示鍵盤上Alt鍵。 |
FunctionKey
名稱 | 描述 |
---|---|
ESC | 表示鍵盤上ESC功能鍵。 |
F1 | 表示鍵盤上F1功能鍵。 |
F2 | 表示鍵盤上F2功能鍵。 |
F3 | 表示鍵盤上F3功能鍵。 |
F4 | 表示鍵盤上F4功能鍵。 |
F5 | 表示鍵盤上F5功能鍵。 |
F6 | 表示鍵盤上F6功能鍵。 |
F7 | 表示鍵盤上F7功能鍵。 |
F8 | 表示鍵盤上F8功能鍵。 |
F9 | 表示鍵盤上F9功能鍵。 |
F10 | 表示鍵盤上F10功能鍵。 |
F11 | 表示鍵盤上F11功能鍵。 |
F12 | 表示鍵盤上F12功能鍵。 |
快捷鍵使用注意事項
場景 | 快捷鍵處理邏輯 | 例子 |
---|---|---|
所有支持onClick事件的組件 | 支持自定義組合鍵 | 無 |
自定義組合鍵要求 | 控制鍵Ctrl,Shift,Alt及它們的組合加上其它可輸入字符按鍵 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) |
多個不同組件設置相同組合鍵 | 只響應結點樹上的第一個組件、其它組件不響應快捷鍵。 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('a',[ModifierKey.CTRL]) |
無論組件是否獲得焦點 | 只要窗口獲焦快捷鍵就會響應 | 無 |
綁定單個快捷鍵時候,通過keyboardShortcut接口value值或者是keys值或兩者都是空的情況下。 綁定多個快捷鍵的時候無法取消快捷鍵。 | 取消快捷鍵的設置 | Button('button1').keyboardShortcut('',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('a',[l]) Button('button3').keyboardShortcut('',[]) |
獨立pipeline子窗口、主窗口共存的情況下 | 獲焦的窗口響應快捷鍵 | 無 |
keyboardShortcut接口中的keys命令中ctrl、shift、alt | 不區分左右鍵都響應 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL, ModifierKey.ALT]) |
keyboardShortcut接口中的value單個字符 | 不區分大小寫都響應 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('A',[ModifierKey.CTRL]) |
快捷鍵的響應 | 所有快捷鍵down的狀態下響應、且連續響應 | 無 |
隱藏組件 | 響應快捷鍵 | 無 |
disable狀態組件 | 不響應快捷鍵 | 無 |
1. 組件的組合鍵(包括系統預定義快捷鍵)相同時。 2. 接口參數value有多個字符時。 3. 接口參數keys有重復的控制鍵時。 | 這幾種情況不綁定組合鍵, 先前綁定的組合鍵仍然有效 | Button('button1').keyboardShortcut('c',[ModifierKey.CTRL]) Button('button2').keyboardShortcut('ab',[ModifierKey.CTRL]) Button('button3').keyboardShortcut('ab',[ModifierKey.CTRL,ModifierKey.CTRL]) |
系統已有組合鍵
快捷鍵 | 組件HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
Ctrl + C | [Image]、[TextInput]、[TextArea] |
Ctrl+ A | [TextInput]、[TextArea] |
Ctrl+ V | [TextInput]、[TextArea] |
Ctrl+ X | [TextInput]、[TextArea] |
Shift + 方向鍵 | [TextInput]、[TextArea] |
Ctrl+ Shift+ Z | [TextInput]、[TextArea] |
Ctrl+ Z | [TextInput]、[TextArea] |
Ctrl+ Y | [TextInput]、[TextArea] |
方向鍵、回車鍵 | [TextInput]、[TextArea] |
TAB鍵 | [TextInput]、[TextArea] |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2310瀏覽量
42744
發布評論請先 登錄
相關推薦
鴻蒙ArkTS聲明式開發:跨平臺支持列表【分布式遷移標識】 通用屬性
組件的分布式遷移標識,指明了該組件在分布式遷移場景下可以將特定狀態恢復到對端設備。
鴻蒙ArkTS聲明式開發:跨平臺支持列表【形狀裁剪】 通用屬性
參數為相應類型的組件,按指定的形狀對當前組件進行裁剪;參數為boolean類型時,設置是否按照父容器邊緣輪廓進行裁剪。 默認值:false 從API version 9開始,該接口支持在Ark
鴻蒙ArkTS聲明式開發:跨平臺支持列表【顯隱控制】 通用屬性
控制當前組件顯示或隱藏。注意,即使組件處于隱藏狀態,在頁面刷新時仍存在重新創建過程,因此當對性能有嚴格要求時建議使用[條件渲染]代替。 默認值:Visibility.Visible 從API version 9開始,該接口支持在
鴻蒙ArkTS聲明式開發:跨平臺支持列表【組件可見區域變化事件】
組件可見區域變化事件是組件在屏幕中的顯示區域面積變化時觸發的事件,提供了判斷組件是否完全或部分顯示在屏幕中的能力,適用于廣告曝光埋點之類的場景。
鴻蒙ArkTS聲明式開發:跨平臺支持列表【按鍵事件】
按鍵事件指組件與鍵盤、遙控器等按鍵設備交互時觸發的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認不可獲焦的組件,可以設置focusable屬性為true后使用按鍵事件。
鴻蒙ArkTS的起源和簡介
新的聲明式開發范式,基于Skia的自繪制引擎構建可跨平臺的獨立的渲染能力。這是一種較為創新的方案,不過也有幾點不足:
Dart語言生態。盡管
發表于 01-16 16:23
評論