Android ontouch 手速

在滑动菜单的时候,有时需要快速的滑动条件下,才显示菜单,如人人的侧滑

Android提供一个类来实现测速 : VelocityTracker

 

 

[java][/java] view plaincopy

  1. private VelocityTracker mVelocityTracker = null;

 

[java][/java] view plaincopy

  1. private void addVelocityTrackerEvent(MotionEvent event) {
  2.         if (mVelocityTracker == null) {
  3.             mVelocityTracker = VelocityTracker.obtain();
  4.         }
  5.         mVelocityTracker.addMovement(event);
  6.     }
  7.     // 获得横向的手速
  8.     private int getTouchVelocityX() {
  9.         if (mVelocityTracker == null)
  10.             return 0;
  11.         mVelocityTracker.computeCurrentVelocity(1000);
  12.         int velocity = (int) mVelocityTracker.getXVelocity();
  13.         return Math.abs(velocity);
  14.     }

 

 

[java][/java] view plaincopy

  1. public boolean onTouch(View v, MotionEvent event) {
  2.         // TODO Auto-generated method stub
  3.         addVelocityTrackerEvent(event);
  4. return false;

 

调用getTouchVelocityX方法即可获得手指的滑动速度,如果值大于200,就很快了。

标签