鸿蒙应用开发之通过ListItemGroup、nestedScroll实现商城活动可折叠分组滚动效果

通过ListItemGroup、nestedScroll实现商城活动可折叠分组滚动效果

通过ListItemGroup、nestedScroll实现商城活动可折叠分组滚动效果

默认宣传封面

当上拉时候大导航吸顶

继续上拉小导航吸灯并且会随着拉上切换小导航

效果预览:

实现思路:

1、根据效果图颜色 先实现红、蓝、列表布局

2、给最外层加上Scroll实现嵌套滚动,最初上拉红色慢慢隐藏、绿色吸灯

3、给List增加ListItemGroup分组实现小导航吸顶效果

完整代码:

scss 复制代码
@Entry
@Component
struct Index {

  @Builder GroupTitleBuilder(text: string) {
    // 列表分组的头部组件,对应联系人分组A、B等位置的组件
    Text(text)
      .fontSize(20)
      .backgroundColor('#fff1f3f5')
      .width('100%')
      .padding(5)
  }

  build() {
    // 核心1⭐️:多层嵌套滚动
    Scroll() {
      Column() {
        // 红色
        Text().width('100%').height(100).backgroundColor(Color.Red)
        // 蓝色
        Text().width('100%').height(50).backgroundColor(Color.Blue)
        // 列表
        List() {
          // 分组
          ForEach('ABCDEF'.split(''), (title:string) => {
            ListItemGroup({ header: this.GroupTitleBuilder(title) }) {
              // 每个分组下面的内容(咱们这里每个分组内容一样)
              ForEach('123456'.split(''), (item:string) => {
                ListItem() {
                  Text(item).height(50).fontSize(30)
                }
              })
              // 每个分组下面的内容(咱们这里每个分组内容一样)
            }.divider({strokeWidth:2,color:Color.Red})
          })
          // 分组

        }.sticky(StickyStyle.Header)
        // 核心2⭐:上拉黄色慢慢消失、蓝色一直在  也就是减去蓝色高度
        .height('calc(100% - 50vp)')
        // 核心3⭐️:向前向后滚动模式 -> 实现与父组件的滚动联动
        .nestedScroll({
          scrollForward: NestedScrollMode.PARENT_FIRST, // 上拉
          scrollBackward: NestedScrollMode.SELF_FIRST   // 下拉
          // 不管父-SELF_ONLY、SELF_FIRST-到边缘管父、PARENT_FIRST-到边缘管子、PARALLEL-父子同时
          // 详细 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-appendix-enums-V13#nestedscrollmode10
        })
      }
    }
  }
}

鸿蒙开发者班级

相关推荐
SummerKaze2 天前
为鸿蒙开发者写一个 nvm:hmvm 的设计与实现
harmonyos
在人间耕耘3 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
王码码20354 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
HarmonyOS_SDK4 天前
【FAQ】HarmonyOS SDK 闭源开放能力 — Ads Kit
harmonyos
Swift社区4 天前
如何利用 ArkUI 框架优化鸿蒙应用的渲染性能
华为·harmonyos
特立独行的猫a4 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS影视票房榜组件完整实现过程
华为·uni-app·harmonyos·轮播图·uniapp-x
盐焗西兰花4 天前
鸿蒙学习实战之路-STG系列(5/11)-守护策略管理-添加与修改策略
服务器·学习·harmonyos
盐焗西兰花4 天前
鸿蒙学习实战之路-STG系列(4/11)-应用选择页功能详解
服务器·学习·harmonyos
lbb 小魔仙4 天前
鸿蒙跨平台项目实战篇03:React Native Bundle增量更新详解
react native·react.js·harmonyos
特立独行的猫a4 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS滚动卡片组件,scroll-view无法滚动踩坑全记录
华为·uni-app·harmonyos·uniapp-x