SwipeRefreshLayout與ViewPager滑動事件衝突解決
阿新 • • 發佈:2019-01-23
問題描述:
開發中發現,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; } });