增大SwipeRefreshLayout容差
2018-03-15 09:59
239 查看
SwipeRefreshLayout对纵向的滑动事件很敏感,导致和内部嵌套横向滑动的控件两者冲突,解决方法自定义一个View继承SwipeRefreshLayout,可以参考:public class VerticalSwipeRefreshLayout extends SwipeRefreshLayout {
private int mTouchSlop;
// 上一次触摸时的X坐标
private float mPrevX;
public VerticalSwipeRefreshLayout(Context context, AttributeSet attrs) {
super(context, attrs);
// 触发移动事件的最短距离,如果小于这个距离就不触发移动控件
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mPrevX = event.getX();
break;
case MotionEvent.ACTION_MOVE:
final float eventX = event.getX();
float xDiff = Math.abs(eventX - mPrevX);
// Log.d("refresh" ,"move----" + eventX + " " + mPrevX + " " + mTouchSlop);
// 增加60的容差,让下拉刷新在竖直滑动时就可以触发
if (xDiff > mTouchSlop + 60) {
return false;
}
}
return super.onInterceptTouchEvent(event);
}
}
private int mTouchSlop;
// 上一次触摸时的X坐标
private float mPrevX;
public VerticalSwipeRefreshLayout(Context context, AttributeSet attrs) {
super(context, attrs);
// 触发移动事件的最短距离,如果小于这个距离就不触发移动控件
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mPrevX = event.getX();
break;
case MotionEvent.ACTION_MOVE:
final float eventX = event.getX();
float xDiff = Math.abs(eventX - mPrevX);
// Log.d("refresh" ,"move----" + eventX + " " + mPrevX + " " + mTouchSlop);
// 增加60的容差,让下拉刷新在竖直滑动时就可以触发
if (xDiff > mTouchSlop + 60) {
return false;
}
}
return super.onInterceptTouchEvent(event);
}
}
相关文章推荐
- 如何使Microsoft SQL Server的日志文件不会增大
- 增大肌肉的若干秘诀
- 如何使Microsoft SQL Server的日志文件不会增大?
- 增大内需的最好办法
- 增大虚拟机最大硬盘空间~
- 2Wire_2700hg系列无线路由器功率增大方法!
- 解决: 动态 MMap 没有空间了。请增大 APT::Cache-Limit 的大小。当前值:25165824。(man 5 apt.conf) 的问题
- 如何在Windows XP 的IIS中增加多个站点以及如何增大最大连接数。
- 增大apache 2的最大连接数
- 网页并发量增大10倍怎样处理
- Windows下安装Virtual Box如何增大硬盘大小(虚拟系统更为LINUX)
- 增大数据文件
- Linux 增大Swap
- Oracle listener.log 不断增大的问题解决
- OCP 1Z0-053 Q115 -- 增大 DB_8K_CACHE_SIZE 大小
- LVM一种支持在线增大和减小的分区技术
- 增大/减少Mp3文件的默认音量—令其统一音量
- LVM增大与缩减空间
- android 重复进入app heapSize不断增大的问题
- 1月第4周全球五大顶级域名总量涨幅约12万 增大4倍