HarmonyOS 鸿蒙Next 如何实现类似微信订阅号左滑展开菜单

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何实现类似微信订阅号左滑展开菜单 如何实现类似微信订阅号左滑展开菜单

2 回复

该效果实现请参考链接,https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-sidebarcontainer.md

或者参考以下代码:

@Component
struct Index {

  private swiperController: SwiperController = new SwiperController()
  @State private scrollable: boolean = false

  build() {
    Swiper(this.swiperController) {
      sideBarView()
      
      Tabs() {
        TabContent() {
          Text('首页')
        }
        .tabBar('首页')

        TabContent() {
          Column(){
            Text('推荐的内容\n点击打开侧边栏').fontSize(30)
              .onClick(() => {
                this.swiperController.showPrevious()
              })
          }
          .justifyContent(FlexAlign.SpaceBetween)
          .width('100%')
          .height('100%')
        }
        .tabBar('推荐')

        TabContent() {
          Text('我的内容').fontSize(30)
        }
        .tabBar("我的")
      }
      .barPosition(BarPosition.End)
      .width('100%')
      .backgroundColor('#FFFFFF')
      .scrollable(false)
      .onChange((index: number): void => {
        this.scrollable = (index == 1)? true : false
      })
    }
    //.nestedScroll(SwiperNestedScrollMode.SELF_FIRST)
    .index(1)
    .cachedCount(0)
    .clip(false)
    .loop(false)
    .width('100%')
    .displayMode(SwiperDisplayMode.AUTO_LINEAR)
    .indicator(false)
    .disableSwipe(!this.scrollable)
  }
}

@Component
export struct sideBarView {

  build() {
    Column() {
      Row() {
        Text('侧边栏内容')
          .fontSize(30)
      }.height('100%')
    }
    .height('100%')
    .width('80%')
    .backgroundColor('#FF0000')
  }
}

更多关于HarmonyOS 鸿蒙Next 如何实现类似微信订阅号左滑展开菜单的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中实现类似微信订阅号左滑展开菜单的功能,可以通过以下方式实现:

鸿蒙系统提供了丰富的UI组件和动画效果支持,你可以利用这些功能来构建所需的左滑菜单。具体来说,你可以使用鸿蒙的ListContainer组件来展示订阅号列表,并为每个列表项设置一个手势监听器。当用户进行左滑操作时,触发相应的回调来显示隐藏的菜单。

为了实现平滑的动画效果,你可以使用鸿蒙的动画框架。在左滑开始时,启动一个平移动画,将菜单从隐藏状态平滑过渡到显示状态。同时,你可能还需要调整菜单的透明度以实现更好的视觉效果。

在编程实现上,你需要为ListContainer中的每个子项设置一个手势识别器,监听用户的滑动事件。根据滑动的方向和距离,动态调整菜单的显示状态。此外,你还可以利用鸿蒙的布局管理器来灵活控制菜单和列表项的布局。

请注意,鸿蒙系统的API和组件可能会随着版本的更新而发生变化,因此建议参考最新的鸿蒙开发文档来获取最准确的信息。

如果问题依旧没法解决请联系官网客服,官网地址是:

回到顶部