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

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

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

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

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-14 20:50 ? 次閱讀

相對(duì)布局(RelativeContainer)

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

錨點(diǎn)的對(duì)齊位置示意圖

image.png

一個(gè)示例

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

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

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

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

        Row()
          .width(100)
          .height(100)
          .backgroundColor('#FF66FF')
          .alignRules({
            top: { anchor: 'row2', align: VerticalAlign.Bottom },
            middle: { anchor: 'row2', align: HorizontalAlign.Center }
          })
          .id('row5')  //設(shè)置錨點(diǎn)為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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2382

    瀏覽量

    42941
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    請(qǐng)問(wèn)相對(duì)布局和線性布局有啥不同?

    請(qǐng)問(wèn)相對(duì)布局和線性布局有啥不同?
    發(fā)表于 04-09 09:25

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

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

    OpenHarmony使用ArkUI Inspector分析布局

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

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

    請(qǐng)問(wèn),在用java開(kāi)發(fā)鴻蒙應(yīng)用布局UI時(shí),怎么才能全屏布局(不顯示labelb標(biāo)題)
    發(fā)表于 09-20 22:09

    鴻蒙強(qiáng)勢(shì)布局2021 庫(kù)克對(duì)蘋果做出戰(zhàn)略布局

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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