HarmonyOS Swiper父组件和内部子组件PanGesture手势冲突问题如何解决

HarmonyOS
2024-12-26 15:30:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

需要参考下面代码实现:实现类似图库图片可放大缩小滑动的效果。

参考图库源码:https://gitee.com/openharmony/applications_photos/tree/master

关键代码:

图片Item组件:applications_photos/common/src/main/ets/default/view/PhotoItem.ets

手势处理逻辑:PanGesture…

冲突处理逻辑:

.onTouch((event?: TouchEvent) => {
  this.dealTouchEvent(event as TouchEvent);
  this.eventPipeline?.onTouch(event as TouchEvent);
})

手势管道处理工具:

applications_photos/common/src/main/ets/default/model/browser/photo/EventPipeline.ts

设置swiper滑动状态逻辑:

public setSwipeStatus(disable: Boolean): void {
  this.broadCast.emit(PhotoConstants.SET_DISABLE_SWIPE, [disable]);
}

整体逻辑是在手势管道中通过事件通知swiper禁用或启用滑动手势。OH当前能力是可以实现的。

图片轮播页面:applications_photos/common/src/main/ets/default/view/PhotoSwiper.ets

分享
微博
QQ
微信
回复
2024-12-26 17:03:25
相关问题
事件分发冲突问题如何解决
725浏览 • 1回复 待解决
Gauge组件问题,该如何解决
673浏览 • 1回复 待解决
组件溢出容器问题
1645浏览 • 1回复 待解决
WebList嵌套手势冲突问题
1243浏览 • 1回复 待解决
组件调用组件的方法
1791浏览 • 1回复 待解决
HarmonyOS 组件调用组件方法
481浏览 • 1回复 待解决
HarmonyOS 组件超出组件宽度
358浏览 • 1回复 待解决
HarmonyOS 组件超出组件布局
351浏览 • 1回复 待解决
HarmonyOS 组件调用组件的方法demo
442浏览 • 1回复 待解决
组件组件传递函数
620浏览 • 1回复 待解决