SwipeRefreshLayout与ViewPager滑动事件冲突解决

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
				             }
				         });


以上是关于SwipeRefreshLayout与ViewPager滑动事件冲突解决的主要内容,如果未能解决你的问题,请参考以下文章

SwipeRefreshLayout 与 RecyclerView 空和 TextView

SwipeRefreshLayout 与 WebView 中的向下滚动冲突

因为ViewPager与SwipeRefreshLayout冲突导致RecyclerView或者其他列表布局的item无法点击的问题

因为ViewPager与SwipeRefreshLayout冲突导致RecyclerView或者其他列表布局的item无法点击的问题

ViewPager 与SwipeRefreshLayout,RecyclerView,ScrollView滑动冲突解决方法

Android问题集:SwipeRefreshLayout与ListView的滑动冲突