鸿蒙arkts的容器组件层叠布局(Stack)的用法

大家好我是海岛,今天和大家分享一下在传智博学谷学习的一些知识分享,关于Stack组件的用法。

这里复制下HarmonyOs官网的内容

概述

层叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过Stack容器组件实现位置的固定定位与层叠,容器中的子元素(子组件)依次入栈,后一个子元素覆盖前一个子元素,子元素可以叠加,也可以设置位置。

层叠布局具有较强的页面层叠、位置定位能力,其使用场景有广告、卡片层叠效果等。

如图1,Stack作为容器,容器内的子元素(子组件)的顺序为Item1->Item2->Item3。

开发布局

Stack组件为容器组件,容器内可包含各种子组件。其中子组件默认进行居中堆叠。子元素被约束在Stack下,进行自己的样式定义以及排列。

@Entry
@Component
struct Demo2 {
  build() {
    Stack({
      alignContent: Alignment.Center
    }) {
      // 写在下面的组件会覆盖在前面的组件上
      Column() {
        Text("第一层(粉色)").fontSize(22)
      }.height("100%").width("100%").backgroundColor(Color.Pink)

      Column() {
        Text("第二层(橙色)").fontSize(22)
      }.height("50%").width("100%").backgroundColor(Color.Orange)

      Column() {
        Text("第三层(绿色)").fontSize(22)
      }.height("30%").width("100%").backgroundColor(Color.Green)
    }
  }
}

其实官网的讲解和示例已经十分清楚了,我这里主要是和大家更多的分享下我在实际开发使用Stack的场景

比如在这个场景中美团点餐的页面中,就使用到了stack组件作为最外层的组件来包裹其他子组件,例如底部的按钮,我们就可以使用 Stack({ alignContent: Alignment.Bottom })的方式使子组件底部对齐,调整整个页面的布局效果,当点击外卖小哥的头像查看购物车时,因为是stack布局,可使购物车组件覆盖在上面,起到了传统前端的底部卡片弹出的效果。

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海是岛思念的泪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值