ArkTS中的Column与Row

基础概念

属性方法名 说明 参数
justifyContent 设置子元素在主轴方向的对齐方式 FlexAlign 枚举
alignItems 设置子元素在交叉轴方向的对齐格式 Row 容器使用 VerticalAlign 枚举 Column 容器使用 HorizontatAlign 枚举

什么是主轴?什么是交叉轴?

  • 主轴:线性布局容器在布局方向上的轴线,子元素默认沿主轴排列。Row 容器主轴为横向,Column 容器主轴为纵向
  • 交叉轴:垂直于主轴方向的轴线。Row 容器交叉轴为纵向,Column 容器交叉轴为横向

如图:您可以直观看到排列方向

在主轴上

通过 FlexAlign 的枚举值改变对齐方式

  • FlexAlign.Start(默认值):子组件在主轴方向起始端对齐, 第一个子组件与父元素边沿对齐,其他元素与前一个元素对齐。
  • FlexAlign.Center:子组件在主轴方向居中对齐。
  • FlexAlign.End:子组件在主轴方向终点端对齐, 最后一个子组件与父元素边沿对齐,其他元素与后一个元素对齐。
  • FlexAlign.SpaceBetween:Flex 主轴方向均匀分配弹性元素,相邻子组件之间距离相同。第一个子组件和最后一个子组件与父元素边沿对齐。
  • FlexAlign.SpaceAround:Flex 主轴方向均匀分配弹性元素,相邻子组件之间距离相同。第一个子组件到主轴起始端的距离和最后一个子组件到主轴终点端的距离是相邻元素之间距离的一半。
  • FlexAlign.SpaceEvenly:Flex 主轴方向元素等间距布局,相邻子组件之间的间距、第一个子组件与主轴起始端的间距、最后一个子组件到主轴终点端的间距均相等。

column 容器

FlexAlign.start

FlexAlign.Center

FlexAlign.End

FlexAlign.SpaceBetween

FlexAlign.SpaceAround

FlexAlign.SpaceEvenly

row 容器

FlexAlign.start

FlexAlign.Center

FlexAlign.End

FlexAlign.SpaceBetween

FlexAlign.SpaceAround

FlexAlign.SpaceEvenly

在交叉轴上

在交叉轴中视容器而使用不同的枚举

column 容器

在 column 容器中使用 HorizontalAlign 枚举来确定在交叉轴的对齐方式

row 容器

在 row 容器中使用 VerticalAlign 枚举来确定在交叉轴的对齐方式

相关推荐
Swift社区2 小时前
鸿蒙游戏 UI 怎么设计才不乱?
游戏·ui·harmonyos
Ww.xh4 小时前
零基础入门鸿蒙NEXT开发实战
华为·harmonyos
_waylau5 小时前
鸿蒙架构师修炼之道-面向对象的分布式架构
分布式·华为·架构·架构师·harmonyos·鸿蒙
kiros_wang5 小时前
HarmonyOS 6(API 23)悬浮导航 + 沉浸光感:从原理到可运行完整示例
华为·harmonyos
monnmxi6 小时前
DevEcoTesting-for-handle-leak:”探索测试“工具的发掘利用与AI赋能的内存泄漏检测和复现(上)
harmonyos
Swift社区9 小时前
鸿蒙游戏中的“智能 NPC”架构设计
游戏·华为·harmonyos
2601_949593659 小时前
Flutter_OpenHarmony_三方库_webview_flutter网页内容嵌入与交互适配详解
flutter·harmonyos
前端不太难10 小时前
为什么 AI 游戏更适合鸿蒙?
人工智能·游戏·harmonyos
特立独行的猫a11 小时前
HarmonyOS 鸿蒙PC三方库移植:vcpkg方式的 Port 脚本编写简明教程
华为·harmonyos·openharmony·vcpkg·三方库移植
Ww.xh11 小时前
鸿蒙Flutter混合开发实战:跨平台UI无缝集成
flutter·华为·harmonyos