Android ontouch 手速
在滑动菜单的时候,有时需要快速的滑动条件下,才显示菜单,如人人的侧滑
Android提供一个类来实现测速 : VelocityTracker
[java][/java] view plaincopy
- private VelocityTracker mVelocityTracker = null;
[java][/java] view plaincopy
- private void addVelocityTrackerEvent(MotionEvent event) {
- if (mVelocityTracker == null) {
- mVelocityTracker = VelocityTracker.obtain();
- }
- mVelocityTracker.addMovement(event);
- }
- // 获得横向的手速
- private int getTouchVelocityX() {
- if (mVelocityTracker == null)
- return 0;
- mVelocityTracker.computeCurrentVelocity(1000);
- int velocity = (int) mVelocityTracker.getXVelocity();
- return Math.abs(velocity);
- }
[java][/java] view plaincopy
- public boolean onTouch(View v, MotionEvent event) {
- // TODO Auto-generated method stub
- addVelocityTrackerEvent(event);
- return false;
- }
调用getTouchVelocityX方法即可获得手指的滑动速度,如果值大于200,就很快了。