HarmonyOS Swiper如何控制左滑右滑?

控制是否允许左滑,是否允许右滑

阅读 434
1 个回答

Swiper中有onGestureSwipe事件,可以监听swiper控件的手势滑动,回调函数中的第二个入参中的currentOffset值,可以通过这个值得正负判断是左滑还是右滑

或者子组件中,添加手势事件,根据子组件的手势事件判断左滑还是右滑,但这样的话会阻止swiper滑动,需要滑动的话,需要自身处理

简单示例如下:

Swiper(){
  Column(){
    Text("第一个")
  }
  .width("100%")
  .height("100%")
  Column(){
    Text("第二个")
  }
  .gesture(
    PanGesture().onActionStart(()=>{
      console.info('组件2滑动,没有做处理,整个swiper没有滑动')
    })
  )
  .width("100%")
  .height("100%")
  Column(){
    Text("第三个")
  }
  .width("100%")
  .height("100%")
  // .gesture(
  // PanGesture().onActionStart(()=>{
  // console.info('组件3滑动')
  // })
  // )
}.width("100%")
.height(400)
.onGestureSwipe((index, event)=>{
  console.info(event.currentOffset + '')
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进