- ViewPager.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- v.getParent().requestDisallowInterceptTouchEvent(true);
- return false;
- }
- });
- ViewPager.setOnPageChangeListener(new OnPageChangeListener() {
- @Override
- public void onPageSelected(int arg0) {
- }
- @Override
- public void onPageScrolled(int arg0, float arg1, int arg2) {
- ViewPager.getParent().requestDisallowInterceptTouchEvent(true);
- }
- @Override
- public void onPageScrollStateChanged(int arg0) {
- }
- });
以上代码足够解决这个问题。。。
有时候会遇到2.3.x的版本在滑动VIewPager的时候触发onClick事件。
这时候需要注释掉
- mPager.getParent().requestDisallowInterceptTouchEvent(true);
本文提供了一种解决Android中ViewPager滑动冲突的方法,通过设置触摸监听及页面改变监听,阻止父布局拦截滑动事件,适用于大部分场景。对于特定版本如2.3.x,需调整配置避免触发onClick事件。
785

被折叠的 条评论
为什么被折叠?



