對于不同類型的智能設(shè)備,用戶可能有不同的交互方式,如通過觸摸屏、鼠標、觸控板等。如果針對不同的交互方式單獨做適配,會增加開發(fā)工作量同時產(chǎn)生大量重復代碼。為解決這一問題,我們統(tǒng)一了各種交互方式的API,即實現(xiàn)了 交互歸一 。
基礎(chǔ)輸入
常見的基礎(chǔ)輸入方式及其在各輸入設(shè)備上的表現(xiàn)如下圖所示。
基礎(chǔ)輸入對應的開發(fā)接口,以及當前支持情況如下表所示。
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
輸入 | 開發(fā)接口 | 觸控屏 | 觸控板 | 鼠標 |
---|---|---|---|---|
懸浮 | [onHover] | NA | √ | √ |
點擊 | [onClick] | √ | √ | √ |
雙擊 | [TapGesture] | √ | √ | √ |
長按 | [LongPressGesture] | √ | × | √ |
上下文菜單 | [ContentMenu] | √ | √ | √ |
拖拽 | [Drag] | √ | √ | √ |
輕掃 | [SwipeGesture] | √ | √ | √ |
滾動及平移 | [PanGesture] | √ | √ | √ |
縮放 | [PinchGesture] | √ | √ | √ |
旋轉(zhuǎn) | [RotationGesture] | √ | √ | NA |
說明:
- 點擊事件(onClick)其實是點擊手勢(TapGesture)的一個特殊場景(單指單次點擊)。該場景使用的非常廣泛,為了方便開發(fā)者使用及符合傳統(tǒng)開發(fā)習慣,所以專門提供了開發(fā)接口。
- 觸控板支持長按輸入的功能正在開發(fā)中。
拖拽事件
拖拽是應用開發(fā)中經(jīng)常碰到的場景。拖拽發(fā)生在兩個組件之間,它不是簡單的單次輸入,而是一個”過程”,通常包含如下步驟(以將組件A拖拽到組件B中為例)。
- 長按或點擊組件A,觸發(fā)拖拽。
- 保持按壓或點擊,持續(xù)將組件A向組件B拖拽。
- 抵達組件B中,釋放按壓點擊,完成拖拽。
- 也可以在未抵達組件B的中途,釋放按壓點擊,取消拖拽。
一個完整的拖拽事件,包含多個拖拽子事件,如下表所示(請訪問拖拽事件了解詳細用法)。當前觸控屏和鼠標的拖拽事件已經(jīng)實現(xiàn)”交互歸一”,對手寫筆的支持正在開發(fā)中。
名稱 | 功能描述HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
onDragStart | 綁定A組件,觸控屏長按/鼠標左鍵按下后移動觸發(fā) |
onDragEnter | 綁定B組件,觸控屏手指、鼠標移動進入B組件瞬間觸發(fā) |
onDragMove | 綁定B組件,觸控屏手指、鼠標在B組件內(nèi)移動觸發(fā) |
onDragLeave | 綁定B組件,觸控屏手指、鼠標移動退出B組件瞬間觸發(fā) |
onDrop | 綁定B組件,在B組件內(nèi),觸控屏手指抬起、鼠標左鍵松開時觸發(fā) |
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2339瀏覽量
42805 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
188瀏覽量
4382
發(fā)布評論請先 登錄
相關(guān)推薦
評論