版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
鸿蒙应用开发容器组件介绍1概述一个丰富的页面需要很多组件组成,那么,我们如何才能让这些组件有条不紊地在页面上布局呢?这就需要借助容器组件来实现。容器组件是一种比较特殊的组件,它可以包含其他的组件,而且按照一定的规律布局,帮助开发者生成精美的页面。容器组件除了放置基础组件外,也可以放置容器组件,通过多层布局的嵌套,可以布局出更丰富的页面。ArkTS为我们提供了丰富的容器组件来布局页面,本文将以构建登录页面为例,介绍Column和Row组件的属性与使用。2组件介绍布局容器概念线性布局容器表示按照垂直方向或者水平方向排列子组件的容器,ArkTS提供了Column和Row容器来实现线性布局。Column表示沿垂直方向布局的容器。Row表示沿水平方向布局的容器。主轴和交叉轴概念在布局容器中,默认存在两根轴,分别是主轴和交叉轴,这两个轴始终是相互垂直的。不同的容器中主轴的方向不一样的。主轴:在Column容器中的子组件是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向;在Row容器中的组件是按照从左到右的水平方向布局的,其主轴的方向是水平方向。图2-1Column容器&Row容器主轴交叉轴:与主轴垂直相交的轴线,如果主轴是垂直方向,则交叉轴就是水平方向;如果主轴是水平方向,则交叉轴是垂直方向。图2-2Column容器&Row容器交叉轴属性介绍了解布局容器的主轴和交叉轴,主要是为了让大家更好地理解子组件在主轴和交叉轴的排列方式。接下来,我们将详细讲解Column和Row容器的两个属性justifyContent和alignItems。属性名称描述justifyContent设置子组件在主轴方向上的对齐格式。alignItems设置子组件在交叉轴方向上的对齐格式。主轴方向的对齐(justifyContent)子组件在主轴方向上的对齐使用justifyContent属性来设置,其参数类型是FlexAlign。FlexAlign定义了以下几种类型:Start:元素在主轴方向首端对齐,第一个元素与行首对齐,同时后续的元素与前一个对齐。Center:元素在主轴方向中心对齐,第一个元素与行首的距离以及最后一个元素与行尾距离相同。End:元素在主轴方向尾部对齐,最后一个元素与行尾对齐,其他元素与后一个对齐。SpaceBetween:元素在主轴方向均匀分配弹性元素,相邻元素之间距离相同。第一个元素与行首对齐,最后一个元素与行尾对齐。SpaceAround:元素在主轴方向均匀分配弹性元素,相邻元素之间距离相同。第一个元素到行首的距离和最后一个元素到行尾的距离是相邻元素之间距离的一半。SpaceEvenly:元素在主轴方向等间距布局,无论是相邻元素还是边界元素到容器的间距都一样。交叉轴方向的对齐(alignItems)子组件在交叉轴方向上的对齐方式使用alignItems属性来设置。Column容器的主轴是垂直方向,交叉轴是水平方向,其参数类型为HorizontalAlign(水平对齐),HorizontalAlign定义了以下几种类型:Start:设置子组件在水平方向上按照起始端对齐。Center(默认值):设置子组件在水平方向上居中对齐。End:设置子组件在水平方向上按照末端对齐。Row容器的主轴是水平方向,交叉轴是垂直方向,其参数类型为VerticalAlign(垂直对齐),VerticalAlign定义了以下几种类型:Top:设置子组件在垂直方向上居顶部对齐。Center(默认值):设置子组件在竖直方向上居中对齐。Bottom:设置子组件在竖直方向上居底部对齐。接口介绍接下来,我们介绍Column和Row容器的接口。容器组件接口ColumnColumn(value?:)RowRow(value?:)Column和Row容器的接口都有一个可选参数space,表示子组件在主轴方向上的间距。效果如下:3组件使用我们来具体讲解如何高效的使用Column和Row容器组件来构建这个登录页面。当我们从设计同学那拿到一个页面设计图时,我们需要对页面进行拆解,先确定页面的布局,再分析页面上的内容分别使用哪些组件来实现。我们仔细分析这个登录页面。在静态布局中,组件整体是从上到下布局的,因此构建该页面可以使用Column来构建。在此基础上,我们可以看到有部分内容在水平方向上由几个基础组件构成,例如页面中间的短信验证码登录与忘记密码以及页面最下方的其他方式登录,那么构建这些内容的时候,可以在Column组件中嵌套Row组件,继而在Row组件中实现水平方向的布局。根据上述页面拆解,在Column容器里,依次是Image、Text、TextInput、Button等基础组件,还有两组组件是使用Row容器组件来实现的,主要代码如下:@Entry
@Component
export
struct
LoginPage
{
build()
{
Column()
{
Image($r('app.media.logo'))
...
Text($r('app.string.login_page'))
...
Text($r('app.string.login_more'))
...
TextInput({
placeholder:
$r('app.string.account')
})
...
TextInput({
placeholder:
$r('app.string.password')
})
...
Row()
{
Text($r(…))
}
Button($r('app.string.login'),
{
type:
ButtonType.Capsule,
stateEffect:
true
})
...
Row()
{
this.imageButton($r(…))
}
...
}
...
}
}我们详细看一下使用Row容器的两组组件。两个文本组件展示的内容是按水平方向布局的,使用两端对齐的方式。这里我们使用Row容器组件,并且需要配置主轴上(水平方向)的对齐格式justifyContent为FlexAlign.SpaceBetween(两端对齐)。Row()
{
Text($r(…))
}
.justifyContent(FlexAlign.SpaceBetween)
.width('100%')其他登录方式的三个按钮也是按水平方向布局的,同样使用Row容器组件。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实习不给工资没签合同
- 安远租房合同
- 教务处年度绩效总结报告
- 学生自我评价表范本及填报说明
- 创业计划书范文及实操说明
- 电力企业设备维护检修工作计划
- 病理学实验操作全流程指导
- 建筑工程项目可行性报告撰写技巧
- 空气能科学课教学设计范本
- 企业安全生产环境保护月总结报告
- 招工登记表模板
- 路灯维护方案完整
- 2023年06月天津市便民专线服务中心招考聘用合同制员工笔试题库含答案解析
- 机械设备安全检查表88612
- 幼儿园绘本教学中师幼互动策略研究 论文
- 培智二年级体育课教案
- 汽车维修保养服务单
- 300MW电气运行规程
- GA/T 1246-2015道路交叉口发光警示柱
- DB37-T 4328-2021 建筑消防设施维护保养技术规程
- 基于核心素养导向的初中数学试题命制策略与实例课件
评论
0/150
提交评论