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

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

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

鴻蒙ArkUI開發(fā):常用布局【相對布局】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-14 20:50 ? 次閱讀

相對布局(RelativeContainer)

  1. 相對布局可以讓子元素指定兄弟元素或父容器作為錨點,基于錨點做位置布局
  2. 必須為RelativeContainer及其子元素設(shè)置ID,用于指定錨點信息。未設(shè)置ID的子元素不會顯示
  3. RelativeContainer ID為“ container ”,其余子元素的ID通過id屬性設(shè)置。
  4. 子元素通過 alignRules 指定相對布局規(guī)則
  5. 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

錨點的對齊位置示意圖

image.png

一個示例

typescript
復(fù)制代碼
@Entry
@Component
struct Index {
  build() {
    Row() {
      RelativeContainer() {
        Row()
          .width(100)
          .height(100)
          .backgroundColor('#FF3333')
          .alignRules({
            top: { anchor: '__container__', align: VerticalAlign.Top },  //以父容器為錨點,豎直方向頂頭對齊
            middle: { anchor: '__container__', align: HorizontalAlign.Center }  //以父容器為錨點,水平方向居中對齊
          })
          .id('row1')  //設(shè)置錨點為row1

        Row() {
          Image($r('app.media.icon'))
        }
        .height(100).width(100)
        .alignRules({
          top: { anchor: 'row1', align: VerticalAlign.Bottom },  //以row1組件為錨點,豎直方向低端對齊
          left: { anchor: 'row1', align: HorizontalAlign.Start }  //以row1組件為錨點,水平方向開頭對齊
        })
        .id('row2')  //設(shè)置錨點為row2

        Row()
          .width(100)
          .height(100)
          .backgroundColor('#FFCC00')
          .alignRules({
            top: { anchor: 'row2', align: VerticalAlign.Top }
          })
          .id('row3')  //設(shè)置錨點為row3

        Row()
          .width(100)
          .height(100)
          .backgroundColor('#FF9966')
          .alignRules({
            top: { anchor: 'row2', align: VerticalAlign.Top },
            left: { anchor: 'row2', align: HorizontalAlign.End },
          })
          .id('row4')  //設(shè)置錨點為row4

        Row()
          .width(100)
          .height(100)
          .backgroundColor('#FF66FF')
          .alignRules({
            top: { anchor: 'row2', align: VerticalAlign.Bottom },
            middle: { anchor: 'row2', align: HorizontalAlign.Center }
          })
          .id('row5')  //設(shè)置錨點為row5
      }
      .width(300).height(300)
      .border({ width: 2, color: '#6699FF' })
    }
    .height('100%').margin({ left: 30 })
  }
}

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

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

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2302

    瀏覽量

    42689
收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS開發(fā)ArkUI案例:【常用布局容器對齊方式】

    基于ArkTS擴展的聲明式開發(fā)范式,實現(xiàn)Flex、Column、Row和Stack四種常用布局容器對齊方式。
    的頭像 發(fā)表于 05-08 16:47 ?1483次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b><b class='flag-5'>ArkUI</b>案例:【<b class='flag-5'>常用布局</b>容器對齊方式】

    鴻蒙ArkUI開發(fā)常用布局【主軸】

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

    請問相對布局和線性布局有啥不同?

    請問相對布局和線性布局有啥不同?
    發(fā)表于 04-09 09:25

    ArkUI新能力,助力應(yīng)用開發(fā)更便捷

    、靈活錨點,讓絕對定位能力更強大 除了以上介紹的布局能力外,ArkUI還提供了絕對定位和相對定位能力,讓開發(fā)者實現(xiàn)更靈活的定位,現(xiàn)已提供了2個方法,position和markAncho
    發(fā)表于 02-15 11:40

    OpenHarmony使用ArkUI Inspector分析布局

    本文轉(zhuǎn)載自《#2023 盲盒+碼 # OpenHarmony使用ArkUI Inspector分析布局》,作者:zhushangyuan_ ● 摘要:視圖的嵌套層次會影響應(yīng)用的性能,開發(fā)者應(yīng)該移除
    發(fā)表于 09-04 15:27

    鴻蒙應(yīng)用ui布局

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

    鴻蒙強勢布局2021 庫克對蘋果做出戰(zhàn)略布局

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

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

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

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

    聲明式UI提供了以下9種常見布局開發(fā)者可根據(jù)實際應(yīng)用場景選擇合適的布局進行頁面開發(fā)。
    的頭像 發(fā)表于 05-13 15:37 ?414次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>之【如何選擇<b class='flag-5'>布局</b>?】

    鴻蒙ArkUI開發(fā)常用布局【交叉軸】

    垂直于主軸方向的軸線。Row容器交叉軸為縱向,Column容器交叉軸為橫向。
    的頭像 發(fā)表于 05-14 09:52 ?513次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>常用布局</b>【交叉軸】

    鴻蒙ArkUI開發(fā)常用布局【彈性布局方向圖】

    FlexDirection.Row(默認值):主軸為水平方向,子組件從起始端沿著水平方向開始排布
    的頭像 發(fā)表于 05-14 09:23 ?332次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>常用布局</b>【彈性<b class='flag-5'>布局</b>方向圖】

    鴻蒙ArkUI開發(fā)常用布局【 創(chuàng)建列表(List)】

    列表容器是為了高效處理長列表的容器,能支持橫向、豎向滾動,數(shù)據(jù)分組,分組頭懸浮等功能
    的頭像 發(fā)表于 05-15 15:30 ?674次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>常用布局</b>【 創(chuàng)建列表(List)】

    鴻蒙ArkUI開發(fā)常用布局【創(chuàng)建網(wǎng)格(Grid/GridItem)】

    網(wǎng)格布局主要用于處理固定行列的UI,也支持動態(tài)調(diào)整。很類似iOS中的UICollectionView。
    的頭像 發(fā)表于 05-15 16:24 ?657次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>常用布局</b>【創(chuàng)建網(wǎng)格(Grid/GridItem)】

    鴻蒙應(yīng)用布局ArkUI【基礎(chǔ)運用案例】

    平級導(dǎo)航的復(fù)合網(wǎng)格視圖常出現(xiàn)在同時展示多種不同內(nèi)容的界面。
    的頭像 發(fā)表于 05-17 11:19 ?402次閱讀
    <b class='flag-5'>鴻蒙</b>應(yīng)<b class='flag-5'>用布局</b><b class='flag-5'>ArkUI</b>【基礎(chǔ)運用案例】

    鴻蒙ArkUI-X跨平臺開發(fā):【 編寫第一個ArkUI-X應(yīng)用】

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