网上找到的禁止滑动答案是在dispathchTouchEvent()方法里返回true,但是这样,其中的子控件也无法响应点击事件了。有人说重写子控件,使用getParent().requestDisallowInterceptTouchEvent()设置ViewPager不拦截点击事件。但是我有很多子控件,该如何实现这样的需求呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
重写下ViewPager
isScrollable就是是否允许滑动,阻止Viewpager的事件,子控件也能响应事件
重写触摸事件取消左右滑动,注意重写的对象是ViewPager的,而不是Activity。
题主的上个问题中,我提到过这个问题实际就是对touch事件分发的理解。google一下touch事件的分发机制,了解之后你再回头看这个问题。希望对你有帮助!
重写ViewPager如下方法