滑动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