
1.先确定开发流程 -> 2.分析页面元素构成 ->3.选用合适的布局容器组件



线性布局是开发中最常用·、最基础的布局,通过线性容器Row和Column构建


在布局容器内,可以通过space属性设置排列方向上子元素的间距
线性布局容器在布局方向的轴线,子元素默认沿主轴排列
.justifyContent(FlexAlign.End)//主轴对齐
.alignItems(HorizontalAlign.Center)//交叉轴对齐 .justifyContent(FlexAlign.End)//主轴对齐
.alignItems(HorizontalAlign.Center)//交叉轴对齐 
不管容器是Coloum还是Row,它们默认的排列方式都是主轴为始端,交叉轴为居中对齐
自适应拉伸:Blank组件
线性布局下,常用空白填充组件Blank,在容器主轴方向自动填充空白空间,达到自适应的拉伸效果 打个比方,就是你竖屏在看小说,然后你横屏了,小说的内容会跟着横屏的屏幕去调整

层叠布局用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局

Stack组件通过alignContent参数实现位置的相对移动

在层叠布局中,如果后面子元素尺寸大于前面子元素的尺寸,则前面子元素完全隐藏
如何显示前面的元素呢?
使用层叠布局快速搭建手机页面显示模型

弹性布局提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间

弹性布局中,容器的子元素可以按照任意方向排列,通过设置参数direction,可以决定主轴的反向,从而控制子组件的排列方向

通过参数FlexDirection.Row和FlexDirection.RowReverse来控制容器主轴为水平方向

通过参数FlexDirection.Column和FlexDirection.ColumnReverse来控制容器主轴为垂直方向

布局容器内子元素支持指定锚点,可以为兄弟元素或者父元素,基于锚点做相应位置布局

锚点设置是指设置子元素相对于父元素或兄弟元素的位置依赖关系
RelativeContainer父组件为锚点,container代表父容器的id
只要在RelativeContainer容器内,均可以通过alignRules进行相应的位置移动
代码案例
@Entry
@Component
struct RelativeContainer1{
build() {
RelativeContainer() {//父容器组件
Text("1111")
.width(80)
.height(80)
.backgroundColor(Color.Gray)
.alignRules({
top:{anchor:"__container__",align:VerticalAlign.Top},
left:{anchor:'__container__',align:HorizontalAlign.Start}
}).id('Text')
Text("2222")
.width(80)
.height(80)
.backgroundColor(Color.Pink)
.alignRules({
top:{anchor:"Text",align:VerticalAlign.Bottom},
left:{anchor:"Text",align:HorizontalAlign.End}
})
.id("Text1")
}
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。