HarmonyOS:Stack(堆叠容器)

127 阅读1分钟

一、概述

堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。


**说明**

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

二、子组件

可以包含子组件。

三、接口

Stack(value?: { alignContent?: Alignment }) 卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。 元服务API: 从API version 11开始,该接口支持在元服务中使用。 系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
alignContentAlignment设置子组件在容器内的对齐方式。
默认值:Alignment.Center

四、属性

除支持通用属性外,还支持以下属性:
alignContent alignContent(value: Alignment)
设置所有子组件在容器内的对齐方式。该属性与通用属性align同时设置时,后设置的属性生效。 元服务API: 从API version 11开始,该接口支持在元服务中使用。 卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。 系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueAlignment设置子组件在容器内的对齐方式。
默认值:Alignment.Center

五、示例

Stack的alignContent设置为Alignment.Bottom条件下子组件显示效果。效果图如下:
在这里插入图片描述

示例 TestStack.ets代码

@Entry
@Component
struct TestStack {
  @State message: string = 'Stack 基本使用';

  build() {
    Stack({ alignContent: Alignment.Bottom }) {
      Text('第一个子组件显示在底部')
        .fontColor(Color.White)
        .fontSize(20)
        .padding(10)
        .width('90%')
        .height('100%')
        .backgroundColor(Color.Red)
        .align(Alignment.Top)
      Text('第二个子组件显示在上面')
        .fontColor(Color.White)
        .fontSize(20)
        .padding(10)
        .width('70%')
        .height('60%')
        .backgroundColor(Color.Blue)
        .align(Alignment.Top)
    }
    .width('100%')
    .height(150)
    .margin({ top: 5 })
  }
}