<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙OS開發:【一次開發,多端部署】應用(交互歸一)

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-17 15:31 ? 次閱讀

對于不同類型的智能設備,用戶可能有不同的交互方式,如通過觸摸屏、鼠標、觸控板等。如果針對不同的交互方式單獨做適配,會增加開發工作量同時產生大量重復代碼。為解決這一問題,我們統一了各種交互方式的API,即實現了 交互歸一 。

基礎輸入

常見的基礎輸入方式及其在各輸入設備上的表現如下圖所示。

basic_guester

基礎輸入對應的開發接口,以及當前支持情況如下表所示。

開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

輸入開發接口觸控屏觸控板鼠標
懸浮[onHover]NA
點擊[onClick]
雙擊[TapGesture]
長按[LongPressGesture]×
上下文菜單[ContentMenu]
拖拽[Drag]
輕掃[SwipeGesture]
滾動及平移[PanGesture]
縮放[PinchGesture]
旋轉[RotationGesture]NA

說明:

  • 點擊事件(onClick)其實是點擊手勢(TapGesture)的一個特殊場景(單指單次點擊)。該場景使用的非常廣泛,為了方便開發者使用及符合傳統開發習慣,所以專門提供了開發接口。
  • 觸控板支持長按輸入的功能正在開發中。

拖拽事件

拖拽是應用開發中經常碰到的場景。拖拽發生在兩個組件之間,它不是簡單的單次輸入,而是一個”過程”,通常包含如下步驟(以將組件A拖拽到組件B中為例)。

  • 長按或點擊組件A,觸發拖拽。
  • 保持按壓或點擊,持續將組件A向組件B拖拽。
  • 抵達組件B中,釋放按壓點擊,完成拖拽。
  • 也可以在未抵達組件B的中途,釋放按壓點擊,取消拖拽。

一個完整的拖拽事件,包含多個拖拽子事件,如下表所示(請訪問拖拽事件了解詳細用法)。當前觸控屏和鼠標的拖拽事件已經實現”交互歸一”,對手寫筆的支持正在開發中。

搜狗高速瀏覽器截圖20240326151450.png

名稱功能描述HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
onDragStart綁定A組件,觸控屏長按/鼠標左鍵按下后移動觸發
onDragEnter綁定B組件,觸控屏手指、鼠標移動進入B組件瞬間觸發
onDragMove綁定B組件,觸控屏手指、鼠標在B組件內移動觸發
onDragLeave綁定B組件,觸控屏手指、鼠標移動退出B組件瞬間觸發
onDrop綁定B組件,在B組件內,觸控屏手指抬起、鼠標左鍵松開時觸發

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    55

    文章

    1866

    瀏覽量

    42180
  • 鴻蒙OS
    +關注

    關注

    0

    文章

    189

    瀏覽量

    4299
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】(交互歸一)

    對于不同類型的智能設備,用戶可能有不同的交互方式,如通過觸摸屏、鼠標、觸控板等。如果針對不同的交互方式單獨做適配,會增加開發工作量同時產生大量重復代碼。為解決這一問題,我們統一了各種交互
    的頭像 發表于 05-27 14:16 ?73次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(<b class='flag-5'>交互</b>歸一)

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(設置典型頁面)

    本示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-27 09:36 ?405次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】實戰(設置典型頁面)

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(音樂專輯頁2)

    本示例使用[一次開發多端部署]中介紹的自適應布局能力和響應式布局能力進行多設備(或多窗口尺寸)適配,保證應用在不同設備或不同窗口尺寸下可以正常顯示。
    的頭像 發表于 05-25 16:47 ?1577次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】實戰(音樂專輯頁2)

    鴻蒙OS開發:【一次開發,多端部署】(自適應布局)

    針對常見的開發場景,方舟開發框架提煉了七種自適應布局能力,這些布局可以獨立使用,也可多種布局疊加使用。
    的頭像 發表于 05-25 16:36 ?1160次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(自適應布局)

    鴻蒙OS開發:【一次開發,多端部署】(視頻應用)

    者提供了“一次開發,多端部署”的系統能力,讓開發者可以基于一次
    的頭像 發表于 05-25 16:29 ?176次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(視頻應用)

    鴻蒙OS開發:【一次開發,多端部署】(音樂專輯頁面)

    基于自適應和響應式布局,實現一次開發、多端部署音樂專輯頁面。
    的頭像 發表于 05-25 16:21 ?177次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(音樂專輯頁面)

    鴻蒙OS開發:【一次開發,多端部署】(多設備自適應能力)簡單介紹

    本示例是《一次開發,多端部署》的配套示例代碼,展示了[頁面開發的一多能力],包括自適應布局、響應式布局、典型布局場景以及資源文件使用。
    的頭像 發表于 05-21 14:59 ?145次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(多設備自適應能力)簡單介紹

    鴻蒙OS開發:【一次開發,多端部署】( 設置app頁面)

    本示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-21 14:56 ?160次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】( 設置app頁面)

    鴻蒙OS開發:【一次開發,多端部署】(音樂專輯主頁)

    本示例使用一次開發多端部署中介紹的自適應布局能力和響應式布局能力進行多設備(或多窗口尺寸)適配,保證應用在不同設備或不同窗口尺寸下可以正常顯示。
    的頭像 發表于 05-21 14:48 ?358次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(音樂專輯主頁)

    鴻蒙OS開發:【一次開發,多端部署】(一多天氣)項目

    本示例展示一個天氣應用界面,包括首頁、城市管理、添加城市、更新時間彈窗,體現一次開發,多端部署的能力。
    的頭像 發表于 05-20 14:59 ?381次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(一多天氣)項目

    鴻蒙OS開發:【一次開發,多端部署】(天氣應用)案例

    本章通過一個天氣應用,介紹一多應用的整體開發過程,包括UX設計、工程管理及調試、頁面開發等。
    的頭像 發表于 05-15 15:42 ?410次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</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>】(天氣應用)案例

    HarmonyOS開發案例:【一次開發,多端部署-音樂專輯】

    基于自適應和響應式布局,實現一次開發、多端部署音樂專輯頁面。
    的頭像 發表于 05-13 16:48 ?412次閱讀
    HarmonyOS<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>-音樂專輯】

    HarmonyOS開發案例:【一次開發,多端部署(視頻應用)】

    者提供了“一次開發,多端部署”的系統能力,讓開發者可以基于一次
    的頭像 發表于 05-11 15:41 ?692次閱讀
    HarmonyOS<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>(視頻應用)】

    HarmonyOS\"一次開發,多端部署\"優秀實踐——玩機技巧,碼上起航

    的潛在用戶群體。個應用要在多類設備上提供統的內容,需要適配不同的屏幕尺寸和硬件,開發成本較高。\"一次開發,
    發表于 08-30 18:14

    HarmonyOS NEXT新能力,站式高效開發HarmonyOS應用

    NEXT基于一次開發多端部署、可分可合自由流轉、統生態原生智能的理念,提供了鴻蒙系統特征場景
    發表于 08-14 15:08
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>