Android 笔记 ViewPager的滑动与子view内部滑动事件的冲突问题

ViewPager 与子view的滑动冲突

在上一次笔记中建设了一个可以滑动的photoView,显示图片,可以放大,滑动

大部分时候这个自定义View会和ViewPager一起使用。也就是我们通常看到的相册里面的效果,滑动可以显示不同的图片。而在单页中,很多时候也需要滑动。这时候会和ViewPager产生冲突。

最后的结果就是,横向滑动并不会滑动子view里面的内容,而是切换ViewPager的页面。

那么如何才能禁止切换页面,而是只滑动子View呢。

1,可以自定义ViewPager,然后覆盖里面的一个方法canScroll()
answer on stackoverflow

2,一般情况我们是自定义一个View,并且希望这个View能够更加简单自由的使用,不需要被安装到viewpager的时候需要特别的设置,那么就需要在这个自定义View里面来确定让父View(不管是什么)不要拦截onTouch操作
那么,可以在子View的合适地方这样设置
getParent().requestDisallowInterceptTouchEvent(true)
这样,就不会拦截触摸操作,子View就可以获得触摸事件

比如PhotoView里面,如果横向可以滑动,并且没有滑动到边缘的时候,就设置一个这个,那么就可以自由横向滑动。如果滑动到横向边缘了,就设置成fal

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值