Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

问题描述:

开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅。很容易在banner的左右滑动的过程中,触发SwipeRefreshLayout的下拉刷新,从而导致banner左右滑动的体验很差。

解决方案:

可以在ViewPager的滑动时候设置SwipeRefreshLayout暂时不可用,ViewPager的滑动效果就变得很流畅了。

代码示例:

mViewPager.setOnTouchListener(new View.OnTouchListener() { 
         @Override 
         public boolean onTouch(View v, MotionEvent event) { 
           switch (event.getAction()) { 
             case MotionEvent.ACTION_MOVE: 
               mSwipeRefresh.setEnabled(false); 
               break; 
             case MotionEvent.ACTION_UP: 
             case MotionEvent.ACTION_CANCEL: 
               mSwipeRefresh.setEnabled(true); 
               break; 
           } 
           return false; 
         } 
       }); 

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!