【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件

文章目录

  • 前言
  • 一、Column
    • 1.1 子组件
    • 1.2 接口
      • 参数
    • 1.3 属性
    • 1.4 示例代码
  • 二、ColumnSplit
    • 2.1 子组件
    • 2.2 接口
    • 2.3 属性
    • 2.4 示例代码
  • 总结


前言

Column容器组件:沿垂直方向布局的容器。
ColumnSplit组件:将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。


一、Column

沿垂直方向布局的容器。

说明
该组件从API Version 7开始支持。后续版本如有新增内容,则会更新新的文章关于Column。

1.1 子组件

可以包含子组件。

1.2 接口

Column(value?: {space?: string | number})

【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件_第1张图片

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数

参数名称:space,参数类型string | number
是否必填:否
功能描述:纵向布局元素垂直方向间距。
从API version 9开始,space为负数或者justifyContent设置为FlexAlign.SpaceBetween、FlexAlign.SpaceAround、FlexAlign.SpaceEvenly时不生效。
默认值:0
说明:
可选值为大于等于0的数字,或者可以转换为数字的字符串。

1.3 属性

除支持通用属性外,还支持以下属性:

alignItems
参数类型: HorizontalAlign
描述: 用于设置子组件在水平方向上的对齐方式。默认情况下,子组件会在水平居中对齐。从API版本9开始,这个参数支持在ArkTS卡片中使用。

justifyContent
参数类型: FlexAlign
描述: 用于设置子组件在垂直方向上的对齐方式。默认情况下,子组件会在垂直方向上从顶部对齐。从API版本9开始,这个参数支持在ArkTS卡片中使用。
这些参数用于布局控制,让你可以指定子组件在容器中的对齐方式,以便更好地控制界面布局。

1.4 示例代码

// xxx.ets
@Entry
@Component
struct ColumnExample {
  build() {
    Column({ space: 5 }) {
      // 设置子元素垂直方向间距为5
      Text('space').width('90%')
      Column({ space: 5 }) {
        Column().width('100%').height(30).backgroundColor(0xAFEEEE)
        Column().width('100%').height(30).backgroundColor(0x00FFFF)
      }.width('90%').height(100).border({ width: 1 })

      // 设置子元素水平方向对齐方式
      Text('alignItems(Start)').width('90%')
      Column() {
        Column().width('50%').height(30).backgroundColor(0xAFEEEE)
        Column().width('50%').height(30).backgroundColor(0x00FFFF)
      }.alignItems(HorizontalAlign.Start).width('90%').border({ width: 1 })

      Text('alignItems(End)').width('90%')
      Column() {
        Column().width('50%').height(30).backgroundColor(0xAFEEEE)
        Column().width('50%').height(30).backgroundColor(0x00FFFF)
      }.alignItems(HorizontalAlign.End).width('90%').border({ width: 1 })

      Text('alignItems(Center)').width('90%')
      Column() {
        Column().width('50%').height(30).backgroundColor(0xAFEEEE)
        Column().width('50%').height(30).backgroundColor(0x00FFFF)
      }.alignItems(HorizontalAlign.Center).width('90%').border({ width: 1 })

      // 设置子元素垂直方向的对齐方式
      Text('justifyContent(Center)').width('90%')
      Column() {
        Column().width('90%').height(30).backgroundColor(0xAFEEEE)
        Column().width('90%').height(30).backgroundColor(0x00FFFF)
      }.height(100).border({ width: 1 }).justifyContent(FlexAlign.Center)

      Text('justifyContent(End)').width('90%')
      Column() {
        Column().width('90%').height(30).backgroundColor(0xAFEEEE)
        Column().width('90%').height(30).backgroundColor(0x00FFFF)
      }.height(100).border({ width: 1 }).justifyContent(FlexAlign.End)
    }.width('100%').padding({ top: 5 })
  }
}

【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件_第2张图片

二、ColumnSplit

将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。

说明
该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

2.1 子组件

可以包含子组件。

2.2 接口

ColumnSplit()

【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件_第3张图片

他没有任何参数

2.3 属性

参数名称:resizeable
参数类型:boolean
参数意义:分割线是否可拖拽,默认为false。

说明
与RowSplit相同,ColumnSplit的分割线最小能拖动到刚好包含子组件。
在真机中查看拖动效果,预览器中不支持拖动。
不支持clip、margin通用属性。

2.4 示例代码

// xxx.ets
@Entry
@Component
struct ColumnSplitExample {
  build() {
    Column(){
      Text('The secant line can be dragged').fontSize(9).fontColor(0xCCCCCC).width('90%')
      ColumnSplit() {
        Text('1').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)
        Text('2').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)
        Text('3').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)
        Text('4').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)
        Text('5').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)
      }
      .borderWidth(1)
      .resizeable(true) // 可拖动
      .width('90%').height('60%')
    }.width('100%')
  }
}

【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件_第4张图片


总结

Column容器组件:沿垂直方向布局的容器。
ColumnSplit组件:将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。
这对于我们的界面布局非常重要!

你可能感兴趣的:(鸿蒙软件开发,android,鸿蒙软件开发,1024程序员节,华为,鸿蒙系统,ArkUI,移动应用开发)