news 2026/6/23 12:44:13

DevEco Studio鸿蒙中布局代码具体步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DevEco Studio鸿蒙中布局代码具体步骤

布局

一、鸿蒙 ArkTS 基础布局总述

在 HarmonyOS ArkTS 开发中,布局容器是页面 UI 排版的核心载体,所有文本、图片、按钮等组件都必须放置在布局容器内进行有序排列。系统提供 5 类常用基础布局,分别为:垂直布局、水平布局、相对布局、层叠布局、弹性布局。

通用核心布局规则

单页面唯一根布局规则:任意页面的build()函数中,只能存在一个顶层根布局容器,不允许并列多个根布局;
布局嵌套规则:可在根布局容器内部,无限嵌套其他任意布局容器,通过多层嵌套组合实现复杂页面排版;
布局通用属性:所有布局容器均支持width、height、padding、margin、justifyContent、alignItems等通用样式控制组件对齐、间距与尺寸。
二、五大布局详细介绍

1. 垂直布局 Column

组件标识:Column()

排列规则:内部所有子组件 ** 沿垂直方向(从上至下)** 依次排列。

适用场景:

页面正文图文上下排版(如学校简介、详情介绍页面);

表单输入框纵向排列;

列表、轮播 + 文字组合页面。

核心对齐属性:

.justifyContent(FlexAlign.Center):垂直居中;

.alignItems(ItemAlign.Center):水平居中;

最简示例代码:

ets

Column(){

Text("第一行文字")

Text("第二行文字")

}

.width("100%")

.padding(15)

2. 水平布局 Row

组件标识:Row()

排列规则:内部所有子组件 ** 沿水平方向(从左至右)** 依次排列。

适用场景:

顶部导航栏 、底部标签栏;

按钮组、横向功能选项;

图片 + 文字横向组合卡片。

核心对齐属性:

.justifyContent(FlexAlign.SpaceEvenly):组件均匀平分横向空间;

.alignItems(ItemAlign.Center):垂直居中;

最简示例代码:

ets

Row(){

Text("按钮1")

Text("按钮2")

Text("按钮3")

}

.width("100%")

3. 相对布局 RelativeContainer

组件标识:RelativeContainer()

排列规则:不固定排布方向,通过给每个子组件设置 ID、锚点关系,控制组件相对位置(左、右、上、下、居中)。

适用场景:复杂精准定位页面,例如登录页 logo、输入框、按钮错落排版,不规则卡片布局。

特点:自由度最高,适合无法用 Row/Column 简单实现的不规则界面。

4. 层叠布局 Stack

组件标识:Stack()

排列规则:所有子组件在同一坐标位置层层堆叠,代码后书写的组件会覆盖在先写组件上方。

适用场景:

轮播图底部小圆点指示器;

图片上方叠加文字水印 / 标题;

弹窗浮层、遮罩层;

最简示例代码(图片叠加文字):

ets

Stack(){

Image($r("app.media.school"))

.width("100%")

.height(180)

Text("校园风光 ")

.fontSize(22)

.fontColor(Color.White)

}

5. 弹性布局 Flex

组件标识:Flex()

排列规则:可自由切换 水平 / 垂直主轴方向,支持子组件自动换行、自动均分剩余空间,兼具 Row 与 Column 能力,是自适应页面首选布局。

核心控制属性:

.direction(FlexDirection.Row):水平排列;

.direction(FlexDirection.Column):垂直排列;

.wrap(FlexWrap.Wrap):子组件自动换行;

适用场景:多设备自适应页面、多标签自动换行、商品网格布局。

三、布局开发常见易错点

报错:多个根布局

错误写法:

ets

build(){

Column(){ Text("内容") }

Row(){ Text("按钮") }

}

解决:将其中一个布局作为根容器,把另一个布局嵌套进内部。

组件超出屏幕显示不全

给根布局添加width("100%")铺满屏幕宽度,搭配padding控制边距,避免内容贴边。

四、总结

五种布局各有专属使用场景,开发页面时优先选择Column、Row完成基础排版;遇到叠加效果使用Stack;自适应多组件换行使用Flex;需要精准不规则定位时使用RelativeContainer。所有页面必须严格遵守单一根布局规则,通过嵌套组合完成全部 UI 开发。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 12:32:14

linux远程执行windows系统命令

有两种方式:1、使用xfreerdp命令,利用rdp协议,执行命令2、使用evil-winrm命令,利用winrm服务,执行命令一、xfreerdp命令安装 yum install xfreerdp -y优点:无需安装额外服务,直接借用远程桌面的…

作者头像 李华
网站建设 2026/6/23 12:30:50

从连接到能源:解密DePIN如何通过密码学验证“真实工作”

想象一下,如果城市的 WiFi 网络不是由几家电信巨头铺设,而是由成千上万市民分享自家路由器信号构成;如果高清地图数据不是来自单一公司的采集车,而是来自每位司机行车记录仪的贡献,这就是 DePIN(去中心化物…

作者头像 李华
网站建设 2026/6/23 12:27:59

Reproxy:微服务时代边缘代理的终极解决方案

Reproxy:微服务时代边缘代理的终极解决方案 【免费下载链接】reproxy Simple edge server / reverse proxy 项目地址: https://gitcode.com/gh_mirrors/re/reproxy 在微服务架构日益普及的今天,技术团队面临着一个共同的困境:如何高效…

作者头像 李华
网站建设 2026/6/23 12:21:34

RAG 检索精度优化之道:数据清洗与预处理全流程深度解析

RAG 检索精度优化之道:数据清洗与预处理全流程深度解析01 引言:为什么清洗数据比选模型更重要02 数据清洗:让原始文档"脱胎换骨"2.1 多源文档的内容提取2.2 噪声过滤与格式标准化2.3 内容去重:避免冗余污染检索结果2.4 …

作者头像 李华
网站建设 2026/6/23 12:01:38

腾讯地图多场景开发实测避坑指南

腾讯地图多场景开发实测避坑指南 一、基础高频场景实测 1. 环境配置与零门槛接入 在Web端接入地图服务时,最常见的痛点就是环境配置繁琐、依赖冲突导致地图无法渲染。传统开发模式下,开发者需要手动处理多种依赖、配置多个脚本标签,一旦遗漏就…

作者头像 李华