那曲檬骨新材料有限公司

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

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

3天內不再提示

鴻蒙ArkUI之【如何選擇布局?】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-13 15:37 ? 次閱讀

如何選擇布局

聲明式UI提供了以下9種常見布局,開發者可根據實際應用場景選擇合適的布局進行頁面開發。

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

布局應用場景
[線性布局](Row、Column)如果布局內子元素超過1個,且能夠以某種方式線性排列時優先考慮此布局。
[層疊布局](Stack)組件需要有堆疊效果時優先考慮此布局,層疊布局的堆疊效果不會占用或影響其他同容器內子組件的布局空間。例如[Panel]作為子組件彈出時將其他組件覆蓋更為合理,則優先考慮在外層使用堆疊布局。
[彈性布局](Flex)彈性布局是與線性布局類似的布局方式。區別在于彈性布局默認能夠使子組件壓縮或拉伸。在子組件需要計算拉伸或壓縮比例時優先使用此布局,可使得多個容器內子組件能有更好的視覺上的填充容器效果。
[相對布局](RelativeContainer)相對布局是在二維空間中的布局方式,不需要遵循線性布局的規則,布局方式更為自由。通過在子組件上設置錨點規則(AlignRules)使子組件能夠將自己在橫軸、縱軸中的位置與容器或容器內其他子組件的位置對齊。設置的錨點規則可以天然支持子元素壓縮、拉伸,堆疊或形成多行效果。在頁面元素分布復雜或通過線性布局會使容器嵌套層數過深時推薦使用。
[柵格布局](GridRow、GridCol)柵格是多設備場景下通用的輔助定位工具,通過將空間分割為有規律的柵格。柵格不同于網格布局固定的空間劃分,它可以實現不同設備下不同的布局,空間劃分更隨心所欲,從而顯著降低適配不同屏幕尺寸的設計及開發成本,使得整體設計和開發流程更有秩序和節奏感,同時也保證多設備上應用顯示的協調性和一致性,提升用戶體驗。推薦手機、大屏、平板等不同設備,內容相同但布局不同時使用。
[媒體查詢](@ohos.mediaquery)媒體查詢可根據不同設備類型或同設備不同狀態修改應用的樣式。例如根據設備和應用的不同屬性信息設計不同的布局,以及屏幕發生動態改變時更新應用的頁面布局。
[列表](List)使用列表可以輕松高效地顯示結構化、可滾動的信息。在ArkUI中,列表具有垂直和水平布局能力和自適應交叉軸方向上排列個數的布局能力,超出屏幕時可以滾動。列表適合用于呈現同類數據類型或數據類型集,例如圖片和文本。
[網格](Grid)網格布局具有較強的頁面均分能力,子組件占比控制能力,是一種重要自適應布局。網格布局可以控制元素所占的網格數量、設置子組件橫跨幾行或者幾列,當網格容器尺寸發生變化時,所有子組件以及間距等比例調整。推薦在需要按照固定比例或者均勻分配空間的布局場景下使用,例如計算器、相冊、日歷等。
[輪播](Swiper)輪播組件通常用于實現廣告輪播、圖片預覽、可滾動應用等。

布局位置

position、offset等屬性影響了布局容器相對于自身或其他組件的位置。

定位能力使用場景實現方式
絕對定位對于不同尺寸的設備,使用絕對定位的適應性會比較差,在屏幕的適配上有缺陷。使用[position]實現絕對定位,設置元素左上角相對于父容器左上角偏移位置。在布局容器中,設置該屬性不影響父容器布局,僅在繪制時進行位置調整。
相對定位相對定位不脫離文檔流,即原位置依然保留,不影響元素本身的特性,僅相對于原位置進行偏移。使用[offset]可以實現相對定位,設置元素相對于自身的偏移量。設置該屬性,不影響父容器布局,僅在繪制時進行位置調整。

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

對子元素的約束

image.png

審核編輯 黃宇

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

    關注

    1

    文章

    518

    瀏覽量

    17925
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43057
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發學習:初探【ArkUI-X】

    **簡單來說,ArkTS + ArkUI-X 對標的框架為 flutter,一次代碼,編譯為 native 全平臺運行**
    的頭像 發表于 05-13 15:58 ?1135次閱讀
    <b class='flag-5'>鴻蒙</b>開發學習:初探【<b class='flag-5'>ArkUI</b>-X】

    鴻蒙ArkUI開發:常用布局【主軸】

    線性布局的子元素在線性方向上(水平方向和垂直方向)依次排列
    的頭像 發表于 05-13 17:33 ?909次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發:常用<b class='flag-5'>布局</b>【主軸】

    鴻蒙ArkUI-X跨語言調用說明:【平臺橋接開發指南(Android)】

    平臺橋接用于客戶端(ArkUI)和平臺(Android或iOS)之間傳遞消息,即用于ArkUI與平臺雙向數據傳遞、ArkUI側調用平臺的方法、平臺調用ArkUI側的方法。本文主要介紹A
    的頭像 發表于 05-25 16:26 ?828次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨語言調用說明:【平臺橋接開發指南(Android)】

    4天帶你上手HarmonyOS ArkUI開發——《HarmonyOS ArkUI入門訓練營健康生活實戰》

    《HarmonyOS ArkUI入門訓練營健康飲食應用》是面向入門開發者打造的實戰課程系列。特邀華為終端BG高級開發工程師作為本次訓練營講師,以健康飲食為例,開展技術教學及實戰案例分享,助力入門
    發表于 01-05 11:49

    OpenHarmony使用ArkUI Inspector分析布局

    多余的嵌套層次,縮短組件刷新耗時。本文會介紹如何使用ArkUI Inspector工具分析布局,提示應用響應性能。 ● 關鍵字:列舉本文相關的關鍵字:OpenHarmony HarmonyOS 鴻蒙
    發表于 09-04 15:27

    鴻蒙應用ui布局

    請問,在用java開發鴻蒙應用布局UI時,怎么才能全屏布局(不顯示labelb標題)
    發表于 09-20 22:09

    鴻蒙強勢布局2021 庫克對蘋果做出戰略布局

    隨著華為對鴻蒙系統的進一步戰略布局,蘋果卻也作出了戰略布局,看似是在阻擋鴻蒙的發展。
    的頭像 發表于 01-20 11:24 ?1412次閱讀
    <b class='flag-5'>鴻蒙</b>強勢<b class='flag-5'>布局</b>2021 庫克對蘋果做出戰略<b class='flag-5'>布局</b>

    鴻蒙ArkUI開發-Tabs組件的使用

    鴻蒙ArkUI開發-Tabs組件的使用
    的頭像 發表于 01-19 16:01 ?2024次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發-Tabs組件的使用

    鴻蒙ArkUI開發-應用添加彈窗

    彈窗是一種模態窗口,通常用來展示用戶當前需要的或用戶必須關注的信息或操作。在彈出框消失之前,用戶無法操作其他界面內容。ArkUI為我們提供了豐富的彈窗功能
    的頭像 發表于 01-24 17:22 ?730次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發-應用添加彈窗

    鴻蒙ArkUI開發實戰:eTS版【笑話app】

    制作一款笑話app,使用ArkUI
    的頭像 發表于 03-25 16:04 ?503次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發實戰:eTS版【笑話app】

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發框架(簡稱ArkUI)是鴻蒙開發的UI框架,提供如下兩種開發范式,我們 **只學聲明式開發范式**
    的頭像 發表于 05-13 16:06 ?1024次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>:【從代碼到UI顯示的整體渲染流程】

    鴻蒙跨平臺框架:【ArkUi-X】創建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個文章分享一下
    的頭像 發表于 05-13 17:48 ?1056次閱讀
    <b class='flag-5'>鴻蒙</b>跨平臺框架:【<b class='flag-5'>ArkUi</b>-X】創建工程

    鴻蒙ArkUI開發:常用布局【相對布局

    相對布局可以讓子元素指定兄弟元素或父容器作為錨點,基于錨點做位置布局
    的頭像 發表于 05-14 20:50 ?656次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發:常用<b class='flag-5'>布局</b>【相對<b class='flag-5'>布局</b>】

    鴻蒙ArkUI-X跨平臺開發:【 編寫第一個ArkUI-X應用】

    通過構建一個簡單的ArkUI頁面跳轉示例,快速了解資源創建引用,路由代碼編寫和UI布局編寫等應用開發流程。
    的頭像 發表于 05-21 17:36 ?796次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺開發:【 編寫第一個<b class='flag-5'>ArkUI</b>-X應用】

    鴻蒙ArkUI-X跨語言調用說明:【平臺橋接(@arkui-x.bridge)】

    平臺橋接用于客戶端(ArkUI)和平臺(Android或iOS)之間傳遞消息,即用于ArkUI與平臺雙向數據傳遞、ArkUI側調用平臺的方法、平臺調用ArkUI側的方法。
    的頭像 發表于 05-21 15:09 ?833次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨語言調用說明:【平臺橋接(@<b class='flag-5'>arkui</b>-x.bridge)】
    88娱乐城1| 百家乐博之道娱乐城| 大发888游戏场下载| pc百家乐官网模拟游戏| 德州扑克游戏大厅| 属羊的和属猪的做生意| 环球国际娱乐| 粤港澳百家乐官网娱乐网| 大发888游戏客户端下载| 百家乐官网真人视频出售| 沾益县| 澳门百家乐有赢钱的吗| 至尊百家乐官网下载| 大发888下载专区| 24山天机申山寅向择日| 百家乐官网分析软件下| 大发888娱乐场怎样下载| 百家乐稳赚打法| 百家乐官网模拟分析程序| 大发888官方 df888| 百家乐扑克桌布| 百家乐官网15人桌子| 大发888娱乐游戏可以玩吗| 百家乐系统分析器| 网络百家乐官网必胜投注方法| 浩博真人娱乐| 威尼斯人娱乐城老品牌值得您信赖lm0 | 网上百家乐骗人吗| 百家乐官网海滨网现场| 海淀区| 利高网上娱乐| 百家乐平玩法这样| 百家乐博彩策略论坛| 澳门百家乐官网路单怎么看| 新锦江娱乐城备用网址| 天津水果机遥控器| 百家乐园云鼎娱乐网| 网上百家乐网址| 百家乐d博彩论坛| 澳门百家乐娱乐城送体验金| 网上百家乐骗人的|