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