1. 程式人生 > >SwipeRefreshLayout與ViewPager滑動事件沖突解決

SwipeRefreshLayout與ViewPager滑動事件沖突解決

over 能夠 pre touch listener cti pan out 觸發

問題描寫敘述:

開發中發現,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滑動事件沖突解決