写点什么

ColumnSplit 使用说明

作者:flfljh
  • 2024-12-19
    湖南
  • 本文字数:1297 字

    阅读完需:约 4 分钟

ColumnSplit 是 HarmonyOS 中的一个组件用于将子组件纵向布局,并在每个子组件之间插入横向分割线。以下是其简易使用说明:

1. 支持版本与基本功能

  • 从 API Version 7 开始支持,用于纵向布局子组件并插入分割线,分割线位置根据子组件高度计算。初始化后动态修改子组件高度不生效,但可通过拖动分割线改变子组件高度(受子组件最大最小高度限制)。

2. 子组件

  • ColumnSplit可以包含子组件,如Text等。在示例中,ColumnSplit包含了多个Text组件,每个Text组件作为一个子项纵向排列。

3. 接口与属性

  • ColumnSplit()接口:是创建ColumnSplit组件的构造函数。从 API version 11 开始支持在元服务中使用,需要系统能力SystemCapability.ArkUI.ArkUI.Full

  • resizeable属性:用于设置分割线是否可拖拽。通过resizeable(value: boolean)方法设置,valuetrue时分割线可拖动,false为不可拖动,默认值为false。例如在示例中,.resizeable(true)设置了分割线可拖动。

  • divider属性(API 10+):用于设置分割线的margin。通过divider(value: ColumnSplitDividerStyle | null)方法设置,默认值为null,即分割线上下margin为 0。ColumnSplitDividerStyle对象可设置分割线与其上方子组件(startMargin)和下方子组件(endMargin)的距离,两者默认值均为 0。

4. 使用示例

以下是一个简单的ColumnSplit使用示例:


// xxx.ets@Entry@Componentstruct ColumnSplitExample {  build() {    Column(){      // 提示文本      Text('The secant line can be dragged').fontSize(9).fontColor(0xCCCCCC).width('90%')      ColumnSplit() {        // 子组件1        Text('1').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)        // 子组件2        Text('2').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)        // 子组件3        Text('3').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)        // 子组件4        Text('4').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)        // 子组件5        Text('5').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)      }      // 设置组件边框宽度     .borderWidth(1)      // 设置分割线可拖动     .resizeable(true)       // 设置组件宽度和高度     .width('90%').height('60%')    }.width('100%')  }}
复制代码


在上述示例中,首先创建了一个Column组件,在其中添加了一个提示文本和一个ColumnSplit组件。ColumnSplit组件包含了 5 个Text子组件,每个子组件设置了不同的背景色、宽度、高度和文本对齐方式。通过设置resizeable(true)使分割线可拖动,borderWidth(1)设置了ColumnSplit组件的边框宽度,width('90%').height('60%')设置了ColumnSplit组件的宽度和高度。


注意事项:


  • 初始化后动态修改marginborderpadding通用属性导致子组件尺寸大于相邻分割线间距时,不支持拖动分割线改变子组件高度。

  • 支持clipmargin等通用属性,clip不设置时默认值为true


用户头像

flfljh

关注

还未添加个人签名 2024-10-29 加入

还未添加个人简介

评论

发布
暂无评论
ColumnSplit使用说明_flfljh_InfoQ写作社区