相對(duì)布局(RelativeContainer)
- 相對(duì)布局可以讓子元素指定兄弟元素或父容器作為錨點(diǎn),基于錨點(diǎn)做位置布局
- 必須為RelativeContainer及其子元素設(shè)置ID,用于指定錨點(diǎn)信息。未設(shè)置ID的子元素不會(huì)顯示
- RelativeContainer ID為“ container ”,其余子元素的ID通過(guò)id屬性設(shè)置。
- 子元素通過(guò)
alignRules
指定相對(duì)布局規(guī)則 - 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
錨點(diǎn)的對(duì)齊位置示意圖
一個(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 })
}
}
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
審核編輯 黃宇
聲明:本文內(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
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
HarmonyOS開(kāi)發(fā)ArkUI案例:【常用布局容器對(duì)齊方式】
基于ArkTS擴(kuò)展的聲明式開(kāi)發(fā)范式,實(shí)現(xiàn)Flex、Column、Row和Stack四種常用布局容器對(duì)齊方式。
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ā)展。
鴻蒙ArkUI之【如何選擇布局?】
聲明式UI提供了以下9種常見(jiàn)布局,開(kāi)發(fā)者可根據(jù)實(shí)際應(yīng)用場(chǎng)景選擇合適的布局進(jìn)行頁(yè)面開(kāi)發(fā)。
鴻蒙ArkUI開(kāi)發(fā):常用布局【 創(chuàng)建列表(List)】
列表容器是為了高效處理長(zhǎng)列表的容器,能支持橫向、豎向滾動(dòng),數(shù)據(jù)分組,分組頭懸浮等功能
鴻蒙ArkUI開(kāi)發(fā):常用布局【創(chuàng)建網(wǎng)格(Grid/GridItem)】
網(wǎng)格布局主要用于處理固定行列的UI,也支持動(dòng)態(tài)調(diào)整。很類似iOS中的UICollectionView。
鴻蒙應(yīng)用布局ArkUI【基礎(chǔ)運(yùn)用案例】
平級(jí)導(dǎo)航的復(fù)合網(wǎng)格視圖常出現(xiàn)在同時(shí)展示多種不同內(nèi)容的界面。
鴻蒙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ā)流程。
評(píng)論