0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開發(fā):【一次開發(fā),多端部署】(導(dǎo)航欄) 導(dǎo)航欄

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-22 14:43 ? 次閱讀

一多導(dǎo)航欄

介紹

本示例展示了導(dǎo)航組件在不同設(shè)備形態(tài)下的樣式。

  • 在sm設(shè)備上,以tabs形式展示,內(nèi)容、導(dǎo)航為上下樣式布局,通過點(diǎn)擊底部tabs切換內(nèi)容;
  • 在md/lg設(shè)備上,以[SideBarContainer]形式展示,內(nèi)容、導(dǎo)航為左右布局,通過點(diǎn)擊側(cè)邊一二級(jí)菜單進(jìn)行內(nèi)容切換。
  • 開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點(diǎn)擊或者復(fù)制轉(zhuǎn)到。

本示例使用[一次開發(fā)多端部署]中介紹的自適應(yīng)布局能力和響應(yīng)式布局能力進(jìn)行多設(shè)備(或多窗口尺寸)適配,主要通過組件提供窗口斷點(diǎn)事件,保證應(yīng)用在不同設(shè)備或不同窗口尺寸下可以正常顯示。

預(yù)覽效果

image.png
本示例在預(yù)覽器中的效果:

image.png

使用說明:

  1. 打開首頁,在IDE編輯器中打開預(yù)覽器查看預(yù)覽效果。
  2. 在預(yù)覽器中開啟窗口拖拽模式,拖動(dòng)窗口變化,可以查看組件的響應(yīng)式變化,如下圖所示:
  3. 手動(dòng)自由拖拽窗口,將應(yīng)用窗口在sm/md/lg三種設(shè)備形態(tài)下進(jìn)行切換并查看預(yù)覽效果。
  4. 在sm/lg窗口下,點(diǎn)擊左上角圖標(biāo)進(jìn)行側(cè)邊欄樣式切換

工程目錄

MultiNavBar/entry/src/main/ets/
|---model
|   |---MenuType.ets                       // 側(cè)邊欄菜單數(shù)據(jù)類型
|   |---SideListData.ets                   // 側(cè)邊欄數(shù)據(jù)
|---pages                                  
|   |---AppStore.ets                       // 首頁
|---common                                    
|   |---BreakpointSystem.ets               // 媒體查詢
|   |---CommonMainTabs.ets                 // 一級(jí)Tabs
|   |---CommonSubTabs.ets                  // 二級(jí)Tabs
|   |---Configuration.ets                  // 樣式配置
|   |---RecommendationList.ets             // 推薦頁面
|   |---SideBarController.ets              // 側(cè)邊欄控制器  

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

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

具體實(shí)現(xiàn)

本示例介紹如何使用自適應(yīng)布局能力和響應(yīng)式布局能力適配不同尺寸窗口,將頁面分拆為2部分。

整體布局

1.通過GridRow組件提供的斷點(diǎn)事件,獲取到當(dāng)前窗口的斷點(diǎn),通過visibility屬性將[Tabs]組件與[SideBarContainer]組件分別在sm/(md、lg) 形態(tài)下展示/隱藏。

2.同時(shí)通過斷點(diǎn),對(duì)組件設(shè)置不同的樣式屬性,以最優(yōu)的效果展示。

側(cè)邊欄SideBar/底部TabsController

1.側(cè)邊欄內(nèi)容布局通過Flex容器分別在sm/(md、lg)形態(tài)下進(jìn)行橫豎展示。

2.內(nèi)容區(qū)域通過不同的窗口斷點(diǎn)進(jìn)行選擇顯隱。

3.md、lg形態(tài)側(cè)邊欄一級(jí)菜單對(duì)應(yīng)sm形態(tài)最外層的TabsController組件、二級(jí)菜單對(duì)應(yīng)里層的TabsController組件。

4.側(cè)邊欄同時(shí)存在兩種形態(tài)list/tabs,通過側(cè)邊欄左上角圖標(biāo)切換,list模式下內(nèi)容區(qū)域較小,根據(jù)窗口斷點(diǎn)只顯示圖標(biāo)/圖標(biāo)+文字,tabs模式下內(nèi)容區(qū)域較大,顯示圖標(biāo)+文字。

內(nèi)容區(qū)域

1.Swiper組件通過獲取窗口斷點(diǎn),設(shè)置displayCount屬性,在不同窗口下顯示不同數(shù)量的圖片。

2.Gird組件通過獲取窗口斷點(diǎn),設(shè)置columnsTemplate與rowsTemplate屬性,在不同窗口下顯示不同數(shù)量的Item。

3.內(nèi)容瀏覽的連續(xù)性,進(jìn)行窗口切換時(shí),內(nèi)容區(qū)域的瀏覽進(jìn)度可以保持,不會(huì)進(jìn)行重新刷新。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2388

    瀏覽量

    42964
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    190

    瀏覽量

    4488
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    基于自適應(yīng)和響應(yīng)式布局,實(shí)現(xiàn)一次開發(fā)、多端部署音樂專輯頁面。
    的頭像 發(fā)表于 05-13 16:48 ?722次閱讀
    HarmonyOS<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>-音樂專輯】

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

    本示例展示個(gè)天氣應(yīng)用界面,包括首頁、城市管理、添加城市、更新時(shí)間彈窗,體現(xiàn)一次開發(fā),多端部署的能力。
    的頭像 發(fā)表于 05-20 14:59 ?882次閱讀
    <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)目

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

    本示例使用一次開發(fā)多端部署中介紹的自適應(yīng)布局能力和響應(yīng)式布局能力進(jìn)行多設(shè)備(或多窗口尺寸)適配,保證應(yīng)用在不同設(shè)備或不同窗口尺寸下可以正常顯示。
    的頭像 發(fā)表于 05-21 14:48 ?865次閱讀
    <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>】(音樂專輯主頁)

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

    基于自適應(yīng)和響應(yīng)式布局,實(shí)現(xiàn)一次開發(fā)多端部署音樂專輯頁面。
    的頭像 發(fā)表于 05-25 16:21 ?843次閱讀
    <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>】(音樂專輯頁面)

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

    者提供了“一次開發(fā),多端部署”的系統(tǒng)能力,讓開發(fā)者可以基于一次
    的頭像 發(fā)表于 05-25 16:29 ?4588次閱讀
    <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)用)

    鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā),多端部署】實(shí)戰(zhàn)(音樂專輯頁2)

    本示例使用[一次開發(fā)多端部署]中介紹的自適應(yīng)布局能力和響應(yīng)式布局能力進(jìn)行多設(shè)備(或多窗口尺寸)適配,保證應(yīng)用在不同設(shè)備或不同窗口尺寸下可以正常顯示。
    的頭像 發(fā)表于 05-25 16:47 ?2151次閱讀
    <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)

    鴻蒙OS開發(fā):典型頁面場(chǎng)景【一次開發(fā)多端部署】實(shí)戰(zhàn)(設(shè)置典型頁面)

    本示例展示了設(shè)置應(yīng)用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現(xiàn)一次開發(fā)、多端部署的能力。
    的頭像 發(fā)表于 05-27 09:36 ?1209次閱讀
    <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è)置典型頁面)

    請(qǐng)問系統(tǒng)下方的導(dǎo)航如何隱藏?

    如題,根據(jù)需求APP需要全屏顯示,但是現(xiàn)在導(dǎo)航常駐在下面。如何能隱藏導(dǎo)航,在下方邊緣上滑時(shí)才出現(xiàn)導(dǎo)航
    發(fā)表于 12-31 07:52

    請(qǐng)問鴻蒙Java UI怎么設(shè)置全屏,無標(biāo)題導(dǎo)航?

    鴻蒙 JavaUI 怎么設(shè)置全屏,無標(biāo)題導(dǎo)航
    發(fā)表于 05-20 11:04

    HarmonyOS\"一次開發(fā),多端部署\"優(yōu)秀實(shí)踐——玩機(jī)技巧,碼上起航

    的潛在用戶群體。個(gè)應(yīng)用要在多類設(shè)備上提供統(tǒng)的內(nèi)容,需要適配不同的屏幕尺寸和硬件,開發(fā)成本較高。\"一次開發(fā),
    發(fā)表于 08-30 18:14

    Android 仿谷歌側(cè)邊導(dǎo)航源碼

    Android 仿谷歌側(cè)邊導(dǎo)航源碼
    發(fā)表于 03-19 11:23 ?1次下載

    華為開發(fā)者大會(huì)2021:一次開發(fā) 多端部署

    一次開發(fā) 多端部署使能開發(fā)者從單設(shè)備生態(tài)跨入多設(shè)備生態(tài)!
    的頭像 發(fā)表于 10-22 15:09 ?1662次閱讀
    華為<b class='flag-5'>開發(fā)</b>者大會(huì)2021:<b class='flag-5'>一次</b><b class='flag-5'>開發(fā)</b> <b class='flag-5'>多端</b><b class='flag-5'>部署</b>

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(多設(shè)備自適應(yīng)能力)簡(jiǎn)單介紹

    本示例是《一次開發(fā),多端部署》的配套示例代碼,展示了[頁面開發(fā)多能力],包括自適應(yīng)布局、響應(yīng)
    的頭像 發(fā)表于 05-21 14:59 ?2534次閱讀
    <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)單介紹

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

    本示例展示了設(shè)置應(yīng)用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現(xiàn)一次開發(fā)、多端部署的能力。
    的頭像 發(fā)表于 05-21 14:56 ?1262次閱讀
    <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頁面)