处理ViewPager嵌套ViewPager的滑动事件冲突
2017-06-15 13:41
381 查看
开发时遇到一个问题:使用ViewPager+Fragment实现滑动tab切换,在其中某一个Fragment中嵌套一个ViewPager轮播卡片。测试发现轮播卡片不能进行左右滑动了。
看了不少博文,都是通过覆盖onInterceptTouchEvent等方法拦截事件处理,例如:
在stackoverflow上找到这个方法,简洁完美地解决了我的问题。外层ViewPager复写canScroll方法,这种处理同样适用于ScrollView等其他滑动控件。
看了不少博文,都是通过覆盖onInterceptTouchEvent等方法拦截事件处理,例如:
@Override public boolean dispatchTouchEvent(MotionEvent ev) { mPager.requestDisallowInterceptTouchEvent(true); return super.dispatchTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { mPager.requestDisallowInterceptTouchEvent(true); return super.onInterceptTouchEvent(ev); } @Override public boolean onTouchEvent(MotionEvent event) { mPager.requestDisallowInterceptTouchEvent(true); return super.onTouchEvent(event); }
在stackoverflow上找到这个方法,简洁完美地解决了我的问题。外层ViewPager复写canScroll方法,这种处理同样适用于ScrollView等其他滑动控件。
@Override protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if (v != this && v instanceof ViewPager) { return true; } return super.canScroll(v, checkV, dx, x, y); }
相关文章推荐
- 处理ViewPager嵌套ViewPager的滑动事件冲突
- 处理ViewPager嵌套ViewPager的滑动事件冲突
- Android ViewPager和SlidingPaneLayout的滑动事件冲突处理方法
- Android中解决ListView嵌套Viewpager时,滑动事件冲突的方法
- 【Android】viewpager嵌套4个带侧滑的listview 事件冲突处理解决方案,可动态设置是否可以侧滑
- Android中解决ListView嵌套Viewpager时,滑动事件冲突的方法
- 解决ScrollView嵌套viewPager中嵌套listView滑动事件冲突问题(水平方向)
- 解决ScrollView嵌套viewpager滑动事件冲突问题
- 防止viewpager和子view滑动冲突(ScrollView嵌套webview,Listview嵌套Listview 滑动事件冲突)
- Android触摸事件传递机制及viewpager嵌套fragment冲突处理
- Android SrcollView内嵌套ViewPager时的滑动冲突处理
- CoordinatorLayout+ViewPager+SwipeRefreshLayout滑动事件冲突的处理
- Android ViewPager嵌套ViewPager滑动冲突处理方法
- Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案
- viewpager嵌套一个子viewpager处理滑动冲突方法
- ListView中嵌套ViewPager滑动事件冲突
- 【Android 事件处理】关于Android ViewPager中嵌套ScrollView的手势冲突