如何获取 RecyclerView 的滑动距离
获取 RecyclerView 的滑动距离的方法
switch (action) {
局轮枣 case MotionEvent.ACTION_DOWN:
DownX = event.getX();//float DownX
DownY = event.getY();//float DownY
currentMS = System.currentTimeMillis();//long currentMS 获取系统时间
break;
case MotionEvent.ACTION_MOVE:
float moveX = event.getX() - DownX;//X轴距离
float moveY = event.getY() - DownY;//y轴距离
long moveTime = System.currentTimeMillis() - currentMS搜索;//移动时间
break;
case MotionEvent.ACTION_UP:
break;
}
以上来自百度,不明的桐拆话,看下面原理自己做个:
滑动其实只是不停的重绘图像,造成滑动的效果。
滑动其实是处理手的触屏事件,在你的View里有onTouch事件,里面会有MotionEvent对象,里面保存当前手的位置坐标,你根据这个坐标计算手滑动的距离,
一般是在收到ACTION_DOWN时保存按下桐好的位置,然后ACTION_MOVE会不停的上报,
计算得出滑动距离。
switch (action) {
case MotionEvent.ACTION_DOWN:
DownX = event.getX();//float DownX
DownY = event.getY();//float DownY
currentMS = System.currentTimeMillis();//long currentMS 获取系统时间
break;
case MotionEvent.ACTION_MOVE:
float moveX = event.getX() - DownX;//X轴距离
float moveY = event.getY() - DownY;//y轴距离
long moveTime = System.currentTimeMillis() - currentMS搜索;//移动时间
break;
case MotionEvent.ACTION_UP:
break;
}
http://zhidao.baidu.com/link?url=N-oYpb1GOeGx7bBOZv6AIgiN7W6Zl9AIDbSdXN7fFHedszEzZZuvco_kQXMpucufPS98fQmpENRBWbsODVdcxq
以上来自百度,不明的话,看下面原理自己做个:
滑动其实只是不停的重绘图像,造成滑动的效果。
滑动其实是处理山携郑手的触屏事件,在你的View里有onTouch事件,隐咐里面会有
MotionEvent对象,里面保存当前手的位置坐标,你根据这个坐标计算手滑动的距离,
一般是在收到ACTION_DOWN时保存按下的位置,然后ACTION_MOVE会不停的上报,
计算得出滑动距离
通过layoutmanager的findviewbyposition查找firstvisibleview和lastvisibleview之后取到left和right之后计算下就得出来了。
注意不要用getchild取view,一定要用layoutmanager的findviewbyposition取!!!
手机写答逗颂案太不方便了
推荐链接:
http://www.zhihu.com/question/31270461/answer/79625236
case MotionEvent.ACTION_DOWN:
DownX = event.getX();//float DownX
DownY = event.getY();//float DownY
currentMS = System.currentTimeMillis();//long currentMS 获取系统时间
break;
case MotionEvent.ACTION_MOVE:
float moveX = event.getX() - DownX;//X轴距离
float moveY = event.getY() - DownY;//y轴距离
long moveTime = System.currentTimeMillis() - currentMS搜索;//移动时间
break;
case MotionEvent.ACTION_UP:
break;
}
以上来自晌并百度,不颤迹明的话,看下面原理自己做个:
滑动其实只是不停的重绘图像,造成滑动的效果。
滑动其实是处理手的触屏事件,在你的View里有onTouch事件,里面会茄谨并有
MotionEvent对象,里面保存当前手的位置坐标,你根据这个坐标计算手滑动的距离,
一般是在收到ACTION_DOWN时保存按下的位置,然后ACTION_MOVE会不停的上报,
计算得出滑动距离