ScrollView嵌套ViewPager 时候 Pager左右滑动不流畅
- //触摸事件
- pager.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- //请求父控件不准许拦截事件
- v.getParent().requestDisallowInterceptTouchEvent(true);
- //自己也不处理
- return false;
- }
- });
- pager.setOnPageChangeListener(new OnPageChangeListener() {
- @Override
- public void onPageSelected(int arg0) {
- //选中状态
- }
- @Override
- public void onPageScrolled(int arg0, float arg1, int arg2) {
- //滑动中
- mPager.getParent().requestDisallowInterceptTouchEvent(true);
- }
- @Override
- public void onPageScrollStateChanged(int arg0) {
- //改变状态
- }
- });
以上代码足够解决这个问题。。。
有时候会遇到2.3.x的版本在滑动VIewPager的时候触发onClick事件。
这时候需要注释掉
- mPager.getParent().requestDisallowInterceptTouchEvent(true);