HarmonyOS 鸿蒙Next arkts List滑动问题

HarmonyOS 鸿蒙Next arkts List滑动问题

List 问题

大家好,最新在看 鸿蒙相关 并尝试做项目 中间出现了几个问题想咨询一下

  • List 组件如何禁止滑动?
  • List 组件如何模拟android中viewPager的效果 一次滑动只能切换1个item。没有惯性的那种

其他

  • 如何实现android中fragment效果?
    • 复杂性逻辑在哪里写? Ability 不是类似于android 的service 如何绑定多个?有相关文档么?最近加班文档不知道在哪里找

🙏🙏🙏感谢各位大佬帮忙解答

6 回复

屏蔽list滑动事件:

可以通过onScrollFrameBegin事件来实现,在列表开始滚动时触发,事件参数传入即将发生的滑动量,事件处理函数中可根据应用场景计算实际需要的滑动量并作为事件处理函数的返回值返回,列表将按照返回值的实际滑动量进行滑动,我们可以将返回值设置为0,则表示不滑动。

参考代码:

@Entry @Component struct Page {
  @State arr: Array<number> = [1, 2, 3, 4, 6, 7, 8, 9, 10]
  
  build() {
    List() {
      ForEach(this.arr, (item: number) => {
        ListItem() {
          Text(item.toString())
            .fontSize(24)
        }
        .height(100)
      })
    }
    .alignListItem(ListItemAlign.Center) //设置便宜为0
    .onScrollFrameBegin((offset, state) => {
      return{offsetRemain:0}
    })
  }
}

更多关于HarmonyOS 鸿蒙Next arkts List滑动问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


谢谢这位大哥 确实可以让list禁止滑动,

看了下这个控件 确实可以做到viewPager的相关效果,详情我这边后续看看能不能满足。十分感谢 🌹🌹🌹,

如果不用这个Swipe 用List一次滑动一个item楼主这个功能实现了么,

在HarmonyOS鸿蒙Next中,ArkTS的List组件在处理滑动时,可能会遇到性能或滑动体验问题。List组件默认支持垂直滑动,可以通过scrollToIndex方法定位到指定项。若需提升滑动体验,可以启用cachedCount属性来预加载可视区域外的项,减少滑动时的加载延迟。此外,ListedgeEffect属性可控制滑动到边界时的效果,如springfade。对于复杂布局,建议使用LazyForEach替代ForEach,以减少不必要的渲染开销。若需自定义滑动行为,可通过onScroll事件监听滑动位置,并实现特定逻辑。

回到顶部