相對布局(RelativeContainer)
- 相對布局可以讓子元素指定兄弟元素或父容器作為錨點,基于錨點做位置布局
- 必須為RelativeContainer及其子元素設置ID,用于指定錨點信息。未設置ID的子元素不會顯示
- RelativeContainer ID為“ container ”,其余子元素的ID通過id屬性設置。
- 子元素通過
alignRules
指定相對布局規則 - 開發前請熟悉鴻蒙開發指導文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
錨點的對齊位置示意圖
一個示例
typescript
復制代碼
@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') //設置錨點為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') //設置錨點為row2
Row()
.width(100)
.height(100)
.backgroundColor('#FFCC00')
.alignRules({
top: { anchor: 'row2', align: VerticalAlign.Top }
})
.id('row3') //設置錨點為row3
Row()
.width(100)
.height(100)
.backgroundColor('#FF9966')
.alignRules({
top: { anchor: 'row2', align: VerticalAlign.Top },
left: { anchor: 'row2', align: HorizontalAlign.End },
})
.id('row4') //設置錨點為row4
Row()
.width(100)
.height(100)
.backgroundColor('#FF66FF')
.alignRules({
top: { anchor: 'row2', align: VerticalAlign.Bottom },
middle: { anchor: 'row2', align: HorizontalAlign.Center }
})
.id('row5') //設置錨點為row5
}
.width(300).height(300)
.border({ width: 2, color: '#6699FF' })
}
.height('100%').margin({ left: 30 })
}
}
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2392瀏覽量
43058
發布評論請先 登錄
相關推薦
ArkUI新能力,助力應用開發更便捷
、靈活錨點,讓絕對定位能力更強大
除了以上介紹的布局能力外,ArkUI還提供了絕對定位和相對定位能力,讓開發者實現更靈活的定位,現已提供了2個方法,position和markAncho
發表于 02-15 11:40
OpenHarmony使用ArkUI Inspector分析布局
本文轉載自《#2023 盲盒+碼 # OpenHarmony使用ArkUI Inspector分析布局》,作者:zhushangyuan_
● 摘要:視圖的嵌套層次會影響應用的性能,開發者應該移除
發表于 09-04 15:27
評論