SwipeRefreshLayout与ViewPager滑动事件冲突解决

来源:互联网 发布:害怕别人超过自己知乎 编辑:程序博客网 时间:2024/04/28 21:34

问题描述:

开发中发现,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;             }         });


4 3