SwipeRefreshLayout与ViewPager滑动事件冲突解决

时间:2023-03-09 03:37:28
SwipeRefreshLayout与ViewPager滑动事件冲突解决

问题描写叙述:

开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅。

非常easy在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;
}
});