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

鸿蒙 ArkUI 基础布局

鸿蒙 ArkUI 提供了灵活的 UI 组件和布局方式,支持声明式 UI 开发,使开发者能够快速构建界面。本教程介绍 ArkUI 的基础布局方式,包括 Flex、Row、Column、Grid 和 Stack 组件的使用。


1. ArkUI 布局基础

鸿蒙 ArkUI 使用 声明式 UI 进行布局,主要使用 Row(行)、Column(列)、Flex(弹性布局)、Grid(网格) 和 Stack(堆叠) 进行界面布局。

  • Row:水平排列子元素
  • Column:垂直排列子元素
  • Flex:弹性布局,支持自动伸缩
  • Grid:网格布局,适用于多列布局
  • Stack:堆叠布局,子组件可以相互覆盖

2. Row 与 Column

Row 组件用于创建 水平布局Column 组件用于 垂直布局

2.1 Row 示例(水平布局)

@Entry
@Component
struct RowExample {
  build() {
    Row() {
      Text("左边").backgroundColor(Color.Red).padding(10)
      Text("中间").backgroundColor(Color.Green).padding(10)
      Text("右边").backgroundColor(Color.Blue).padding(10)
    }.justifyContent(FlexAlign.SpaceBetween).height(50)
  }
}

说明

  • justifyContent(FlexAlign.SpaceBetween) 使得子组件均匀分布
  • height(50) 限制了 Row 的高度

2.2 Column 示例(垂直布局)

@Entry
@Component
struct ColumnExample {
  build() {
    Column() {
      Text("上").backgroundColor(Color.Red).padding(10)
      Text("中").backgroundColor(Color.Green).padding(10)
      Text("下").backgroundColor(Color.Blue).padding(10)
    }.alignItems(HorizontalAlign.Center).height(200)
  }
}

说明

  • alignItems(HorizontalAlign.Center) 让子元素居中
  • height(200) 让 Column 组件高度固定

3. Flex 弹性布局

Flex 是更高级的布局方式,支持 横向、纵向 布局,并能自动适配子元素。

@Entry
@Component
struct FlexExample {
  build() {
    Flex({direction: FlexDirection.Row, justifyContent: FlexAlign.SpaceAround}) {
      Text("1").backgroundColor(Color.Red).padding(10)
      Text("2").backgroundColor(Color.Green).padding(10)
      Text("3").backgroundColor(Color.Blue).padding(10)
    }.height(50)
  }
}

说明

  • FlexDirection.Row 让子元素按行排列
  • justifyContent(FlexAlign.SpaceAround) 让子元素等间距排列

4. Grid 网格布局

Grid 用于 多列布局,适用于表格或网格结构。

@Entry
@Component
struct GridExample {
  build() {
    Grid({columns: 3}) {
      ForEach(["A", "B", "C", "D", "E", "F"], (item) => {
        Text(item).backgroundColor(Color.Gray).padding(10).margin(5)
      })
    }
  }
}

说明

  • columns: 3 表示网格有 3 列
  • ForEach 用于动态创建子元素

5. Stack 叠层布局

Stack 允许子元素 层叠 放置,适用于 覆盖效果

@Entry
@Component
struct StackExample {
  build() {
    Stack() {
      Image("background.png").width(200).height(200)
      Text("前景文字").fontSize(20).fontColor(Color.White).align(Alignment.Center)
    }.width(200).height(200)
  }
}

说明

  • Image 作为背景
  • Text 叠加在 Image 上方,并居中

6. 结论

本文介绍了鸿蒙 ArkUI 的 基础布局组件,包括 RowColumnFlexGridStack,这些组件可以组合使用,以适应不同的 UI 需求。

相关文章:

  • 力扣67:二进制求和
  • 初识C++:Hello, World!
  • HarmonyOS NEXT 鸿蒙中关系型数据库@ohos.data.relationalStore API 9+
  • PPT制作,分享下2025年国内外做PPT的AI工具,一健生成PPT
  • 【RabbitMQ】
  • 高精度加减乘除 + R 格式
  • windows免密ssh登录linux
  • 核函数(机器学习深度学习)
  • (UI自动化测试web端)第三篇:元素的常用操作方法_鼠标操作
  • CF每日5题Day2(1400)
  • C语言代码如何操作硬件?
  • 量子计算的黎明:从理论到现实的突破之旅
  • 《Python实战进阶》No37: 强化学习入门:Q-Learning 与 DQN
  • 2025年人工智能产业TOP10有哪些省份?人工智能产业发展前景如何?
  • HarmonyOS NEXT 鸿蒙中手写和使用第三方仓库封装Logger打印工具
  • 04 单目标定实战示例
  • MySQL 用户权限与安全管理
  • 5G网络中CPE和ACS
  • 优雅的开始一个Python项目
  • Windows 我的世界 Minecraft 服务器搭建,Fabric 模组搭建教程(内网穿透)
  • 如何网站建设/全国疫情最新情况公布
  • 网页版qq下载/网站为什么要做seo
  • 商业合作及运营方案/免费的关键词优化工具
  • 网站优化软件排名优化/十大广告公司
  • 自己怎么建个网站赚钱吗/网站alexa排名
  • wordpress建什么站/seo白帽优化