滑動ViewPager引起swiperefreshlayout刷新的沖突


ViewPager是Android中提供的頁面切換的控件,SwipeRefreshLayout是Android提供的下拉刷新控件,通過SwipeRefreshLayout可以很簡單的實現下拉刷新的功能,但是如果SwipeRefreshLayout的子view中如果包含了ViewPager,會發現滑動ViewPager的時候,很容易引起SwipeRefreshLayout的下拉刷新操作為了解決這個沖突可以這樣實現

 1 viewPager.setOnTouchListener(new View.OnTouchListener() {
 2             @Override
 3             public boolean onTouch(View v, MotionEvent event) {
 4                 switch (event.getAction()) {
 5                     case MotionEvent.ACTION_MOVE:
 6                         swipeRefreshLayout.setEnabled(false);
 7                         break;
 8                     case MotionEvent.ACTION_UP:
 9                     case MotionEvent.ACTION_CANCEL:
10                         swipeRefreshLayout.setEnabled(true);
11                         break;
12                 }
13                 return false;
14             }
15         });

ViewPager,設置OnTouchListener,里面當ACTION_MOVE的時候設置SwipeRefreshLayout不可用,當ACTION_UP或者ACTION_CANCEL的時候設置SwipeRefreshLayout可以,就可以解決這個沖突了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM