對(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ā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
輸入 | 開發(fā)接口 | 觸控屏 | 觸控板 | 鼠標(biāo) |
---|---|---|---|---|
懸浮 | [onHover] | NA | √ | √ |
點(diǎn)擊 | [onClick] | √ | √ | √ |
雙擊 | [TapGesture] | √ | √ | √ |
長(zhǎng)按 | [LongPressGesture] | √ | × | √ |
上下文菜單 | [ContentMenu] | √ | √ | √ |
拖拽 | [Drag] | √ | √ | √ |
輕掃 | [SwipeGesture] | √ | √ | √ |
滾動(dòng)及平移 | [PanGesture] | √ | √ | √ |
縮放 | [PinchGesture] | √ | √ | √ |
旋轉(zhuǎn) | [RotationGesture] | √ | √ | NA |
說明:
- 點(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ā)中。
名稱 | 功能描述HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
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)注
57文章
2392瀏覽量
43055 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
190瀏覽量
4537
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā),多端部署】(功能開發(fā))
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:典型頁面場(chǎng)景【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(功能<b class='flag-5'>開發(fā)</b>)](https://file1.elecfans.com/web2/M00/EA/8B/wKgaomZUkbWAYnfqAYxLmUpXU_I126.jpg)
鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā),多端部署】(交互歸一)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:典型頁面場(chǎng)景【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(<b class='flag-5'>交互</b><b class='flag-5'>歸</b><b class='flag-5'>一</b>)](https://file1.elecfans.com/web2/M00/E7/4F/wKgaomZHB6CAPVGyAAJppPZBJQc910.jpg)
鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā),多端部署】實(shí)戰(zhàn)(設(shè)置典型頁面)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:典型頁面場(chǎng)景【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】實(shí)戰(zhàn)(設(shè)置典型頁面)](https://file1.elecfans.com/web2/M00/E7/A5/wKgZomZMROaAXUzdAAv4eiiYWnk031.jpg)
鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā),多端部署】實(shí)戰(zhàn)(音樂專輯頁2)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:典型頁面場(chǎng)景【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】實(shí)戰(zhàn)(音樂專輯頁2)](https://file1.elecfans.com/web2/M00/E8/39/wKgaomZLV2eAe_jzAANUx87ievc327.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】應(yīng)用(資源使用)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】應(yīng)用(資源使用)](https://file1.elecfans.com/web2/M00/E6/80/wKgZomZHTVGAHdW0AACoL0vyR-Q055.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】(多設(shè)備自適應(yīng)能力)簡(jiǎn)單介紹
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(多設(shè)備自適應(yīng)能力)簡(jiǎn)單介紹](https://file1.elecfans.com/web2/M00/E7/E1/wKgaomZJ9OqAMlQ_AADD5r5qlN0794.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】( 設(shè)置app頁面)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】( 設(shè)置app頁面)](https://file1.elecfans.com/web2/M00/E7/A5/wKgZomZMROaAXUzdAAv4eiiYWnk031.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】(音樂專輯主頁)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(音樂專輯主頁)](https://file1.elecfans.com/web2/M00/E8/39/wKgaomZLV2eAe_jzAANUx87ievc327.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】(一多天氣)項(xiàng)目
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(<b class='flag-5'>一</b>多天氣)項(xiàng)目](https://file1.elecfans.com/web2/M00/E7/2E/wKgZomZK8peAQk72AAIgRtkV8xA497.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】(天氣應(yīng)用)案例
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(天氣應(yīng)用)案例](https://file1.elecfans.com/web2/M00/E6/6F/wKgaomZDcNKAFBp1AAUbDUXSm5I497.jpg)
鴻蒙OS開發(fā):【一次開發(fā),多端部署】(簡(jiǎn)介)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(簡(jiǎn)介)](https://file1.elecfans.com/web2/M00/E5/66/wKgZomZDEGKAW3yJAAAgoErcUzM703.jpg)
評(píng)論