当前位置: 首页 > news >正文

鸿蒙ArkUI零基础入门:布局

ArkUI 五大基础布局

布局是页面的容器,用来控制页面内所有组件的排列方式,所有页面有且只能有一个根布局,根布局内部可以无限嵌套其他布局,这是ArkUI开发硬性规范,多根布局会直接编译报错。

下面分别讲解5种布局的特点、适用场景和极简示例代码:

1. 垂直布局 Column(最常用)

  • 核心作用:内部所有组件默认从上至下,垂直单列排列

  • 常用对齐属性:justifyContent(主轴对齐:上下居中/置顶/置底)、alignItems(交叉轴对齐:左对齐/居中/右对齐)

  • 适用场景:表单页面、个人中心、首页信息流、所有从上往下排布的页面

  • 优缺点:代码极简、上手零难度,是日常开发首选基础布局,无法实现同行并排效果

2. 水平布局 Row(高频搭配布局)

  • 核心作用:内部所有组件默认从左至右,水平单行排列,组件不会自动换行

  • 常用对齐属性:justifyContent(水平对齐)、alignItems(垂直对齐)

  • 适用场景:输入框+按钮组合、底部导航栏、标签栏、同行并排按钮、图文同行展示

  • 避坑点:Row内部组件过多会溢出屏幕,不会自动换行,需要换行优先用Flex布局

3. 相对布局 RelativeContainer(精准定位布局)

  • 核心作用:脱离固定行列规则,组件通过id互相绑定参照,A组件相对于B组件的上下、左右、居中进行定位

  • 核心特点:不需要计算固定坐标,依托组件相对位置排版

  • 适用场景:不规则异形页面、悬浮按钮、弹窗内部复杂排版、图片角落角标

  • 优缺点:定位极其灵活,适配性强;但是代码量大、逻辑复杂,常规列表、表单页面完全不推荐使用

4. 层叠布局 Stack(图层叠加布局)

  • 核心作用:所有组件默认居中叠加,后声明的组件层级更高,会覆盖在先声明的组件上方,类似PS图层

  • 层级规则:代码越靠后,图层越在上层

  • 适用场景:图片加文字水印、轮播图底部指示器、视频播放悬浮播放按钮、商品图右上角优惠角标

  • 一句话记忆:组件叠罗汉,后写盖前写

5. 弹性布局 Flex(万能自适应布局)

  • 核心作用:兼容Row和Column所有能力,可自由切换水平/垂直排列,支持组件自动换行、自动均分屏幕宽度、自适应不同尺寸手机屏幕

  • 核心属性:flexDirection(切换水平/垂直)、wrap(是否自动换行)

  • 适用场景:商品宫格布局、自动换行按钮组、多设备屏幕适配、复杂流式布局

  • 开发建议:Row/Column满足不了换行、均分需求时,直接用Flex,实际项目中复杂布局首选Flex

补充:布局嵌套实战(必学)

单一布局无法满足大部分页面需求,日常开发布局嵌套是常态,最经典组合:根布局Column(整体垂直排布)+ 内部嵌套Row(局部水平并排)

布局是页面的容器,用来控制页面内所有组件的排列方式,所有页面有且只能有一个根布局,根布局内部可以无限嵌套其他布局,这是ArkUI开发硬性规范,多根布局会直接编译报错。

下面分别讲解5种布局的特点、适用场景:

1. 垂直布局 Column

  • 排列规则:内部组件从上到下垂直依次排列

  • 适用场景:首页内容列表、表单页面、从上至下排布的常规页面

  • 一句话记忆:竖着排,默认从上往下挤

2. 水平布局 Row

  • 排列规则:内部组件从左到右水平依次排列

  • 适用场景:底部导航栏、输入框+按钮组合、同行并排按钮

  • 一句话记忆:横着排,默认从左往右挤

3. 相对布局 RelativeContainer

  • 排列规则:组件之间互相参照定位,A组件相对于B组件的上下左右摆放

  • 适用场景:复杂不规则页面、需要精准相对定位的弹窗、悬浮按钮

  • 优缺点:定位灵活,但是代码冗余,简单页面不推荐使用

4. 层叠布局 Stack

  • 排列规则:组件层层叠加,后写的组件覆盖在先写的组件上方

  • 适用场景:图片加文字水印、轮播图指示器、视频播放悬浮按钮

  • 一句话记忆:叠罗汉,后面盖前面

5. 弹性布局 Flex

  • 排列规则:兼容水平+垂直布局,可自由设置换行、等分宽高、自动分配剩余空间

  • 适用场景:自适应多宫格、屏幕适配页面、需要自动换行的按钮组

  • 开发推荐:复杂自适应页面首选Flex,替代Row/Column实现更灵活的适配

http://www.jsqmd.com/news/1067462/

相关文章:

  • 好用的佛山市电动伸缩门供应商
  • 2026年山东大学软件学院创新项目实训博客(八)
  • 计算机视觉(实训一)
  • FastANI:实现1000倍速度提升的微生物基因组相似性分析专业方案
  • 栈和堆for golang
  • IT Help Desk 自动化:哪些工作可以交给系统,哪些必须留给人
  • 2025-2026铝合金门窗行业十大品牌盘点
  • 018、tuple 不只是不可变列表:解包、具名元组与函数返回的最佳实践
  • 制造业官网 sitemap.xml 动态更新指南:让 AI 找得到你的页面
  • 高级ComfyUI工作流编排系统:跨模态AI生成技术集成方案
  • 2026 定制软件行业变局:AI 工作流重构成为刚需
  • 2026年北京甲状腺诊疗医师参考排名出炉 贾永忠专业水平获广泛认可
  • 数据滞后正在造成企业经济损失
  • 可视挖耳勺会暴露隐私吗?内窥式挖耳勺怎么用?可视挖耳勺推荐
  • 3C、服饰、美妆的跨境客服差别有多大?同一套话术,可能让三个品类的卖家赔不同金额的钱
  • 2026年揭秘:EC风机制造商凭什么领跑行业?
  • Spring AI 学习篇(五)| 嵌入模型与向量表示的本质
  • 鸿蒙系统布局
  • 计算机毕业设计之基于androidstudio的运动app
  • 汇铭达XSP28Q:PD/QC/华为FCP/三星AFC多协议快充取电芯片介绍
  • AI 公司巨亏,你却用得越来越便宜
  • 2026年未央区宠物医院大比拼:哪家设施最齐全?
  • 腾讯地图LBS多场景开发技术解析
  • 深度解析PaddleSpeech TTS模块中G2P模型下载问题的3种高效解决方案
  • 基于SpringBoot的高校自习室预约系统的设计与实现
  • 从“事后打假”到“事前自查”:科研合规的逻辑正在被重写
  • 学习 ORM(JPA/Hibernate)的“收益”
  • 3步搭建智能家居自动化系统:Home Assistant终极指南
  • 2026年苏州高品质新吨袋供应商大揭秘,靠谱之选究竟是谁?
  • DevEco Studio鸿蒙中布局代码具体步骤