相對布局(RelativeContainer)
- 相對布局可以讓子元素指定兄弟元素或父容器作為錨點(diǎn),基于錨點(diǎn)做位置布局
- 必須為RelativeContainer及其子元素設(shè)置ID,用于指定錨點(diǎn)信息。未設(shè)置ID的子元素不會顯示
- RelativeContainer ID為“ container ”,其余子元素的ID通過id屬性設(shè)置。
- 子元素通過
alignRules
指定相對布局規(guī)則 - 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
錨點(diǎn)的對齊位置示意圖
一個示例
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),豎直方向頂頭對齊
middle: { anchor: '__container__', align: HorizontalAlign.Center } //以父容器為錨點(diǎn),水平方向居中對齊
})
.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),豎直方向低端對齊
left: { anchor: 'row1', align: HorizontalAlign.Start } //以row1組件為錨點(diǎn),水平方向開頭對齊
})
.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 })
}
}
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2397瀏覽量
43093
發(fā)布評論請先 登錄
相關(guān)推薦
HarmonyOS開發(fā)ArkUI案例:【常用布局容器對齊方式】
基于ArkTS擴(kuò)展的聲明式開發(fā)范式,實(shí)現(xiàn)Flex、Column、Row和Stack四種常用布局容器對齊方式。
ArkUI新能力,助力應(yīng)用開發(fā)更便捷
、靈活錨點(diǎn),讓絕對定位能力更強(qiáng)大
除了以上介紹的布局能力外,ArkUI還提供了絕對定位和相對定位能力,讓開發(fā)者實(shí)現(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
鴻蒙強(qiáng)勢布局2021 庫克對蘋果做出戰(zhàn)略布局
隨著華為對鴻蒙系統(tǒng)的進(jìn)一步戰(zhàn)略布局,蘋果卻也作出了戰(zhàn)略布局,看似是在阻擋鴻蒙的發(fā)展。
鴻蒙ArkUI開發(fā):常用布局【創(chuàng)建網(wǎng)格(Grid/GridItem)】
網(wǎng)格布局主要用于處理固定行列的UI,也支持動態(tài)調(diào)整。很類似iOS中的UICollectionView。
鴻蒙ArkUI-X跨平臺開發(fā):【 編寫第一個ArkUI-X應(yīng)用】
通過構(gòu)建一個簡單的ArkUI頁面跳轉(zhuǎn)示例,快速了解資源創(chuàng)建引用,路由代碼編寫和UI布局編寫等應(yīng)用開發(fā)流程。
評論