SwipeRefreshLayout與ViewPager滑動事件沖突解決
阿新 • • 發佈:2017-06-07
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滑動事件沖突解決