必威体育Betway必威体育官网
当前位置:首页 > IT技术

Android VelocityTracker类 滑动速度跟踪

时间:2019-08-15 23:41:03来源:IT技术作者:seo实验室小编阅读:80次「手机版」
 

velocitytracker

velocitytracker就是速度跟踪的意思。我们可以获得触摸点的坐标,根据按下的时间可以简单的计算出速度的大小。

当你需要跟踪的时候使用obtain()方法来来获得VelocityTracker类的一个实例对象

使用addMovement(motionevent)函数将当前的移动事件传递给VelocityTracker对象

使用computeCurrentVelocity (int units)函数来计算当前的速度

使用getXVelocity ()、getYVelocity ()函数来获得当前的速度

Android直接提供了一种方式来方便我们获得触摸的速度。

public class VelocityTrackerActivityActivity extends Activity {  
    /** Called when the activity is first created. */  
    TextView textView;  
    private VelocityTracker vTracker = null;  
    @Override  
    public void onCreate(Bundle savedinstanceState) {  
        super.onCreate(savedInstanceState);  
        setcontentView(R.layout.main);  
        textView = (TextView)findViewById(R.id.textView);  
    }  
      
    @Override  
    public boolean onTouchEvent(MotionEvent event){  
        int action = event.getAction();  
        switch(action){  
        case MotionEvent.ACTION_DOWN:  
            if(vTracker == null){  
                vTracker = VelocityTracker.obtain();  
            }else{  
                vTracker.clear();  
            }  
            vTracker.addMovement(event);  
            break;  
        case MotionEvent.ACTION_MOVE:  
            vTracker.addMovement(event);  
            vTracker.computeCurrentVelocity(1000);  
            textView.setText("the x velocity is "+vTracker.getXVelocity());  
            textView.APPend("the y velocity is "+vTracker.getYVelocity());  
            break;  
        case MotionEvent.ACTION_UP:  
        case MotionEvent.ACTION_CANCEL:  
            vTracker.recycle();  
            break;  
        }  
        event.recycle();  
        return true;  
    }  
}  

VelocityTracker不仅可以处理单点的速度,也可以获得多点的速度。这和处理多点触摸的方式是一样的,传入一个ID就可以了。VelocityTracker获得的速度是有正负之分,computerCurrentVelocity()可以设置单位。1000 表示每秒多少像素(pix/second),1代表每微秒多少像素(pix/millisecond)。

用完之后 注意回收!

详细见:http://blog.csdn.net/bingxianwu/article/details/7446799

相关阅读

5000万引发的一连串追问 互联网的发展速度真的那么快?

我们都知道互联网如野火般席卷全球,但是在美国,互联网的普及速度真的有收音机或电视那么快吗?这个问题的答案充满着高度不确定性,但是

USB2.0实际传输速度为什么与480mbps相差甚远

USB2.0规范中传输速度是480 Mbps(即60 MB/s)。但是很多USB2.0设备在实际工作时的数据传输速度却与此相差甚远,比如用PC用U盘拷个东

显存速度如何定义以及如何及分辨好坏

显存速度就是显存时钟脉冲的重复周期的快慢,是作为衡量显存速度的重要指标。显存速度越快,单位时间交换的数据量也就越大,在同等情况

Origin下载速度慢怎么办

效果如图,修改前是200KB左右,在修改后可以达到3-4MB的下载速度 实现方法 1.打开origin客户端的安装目录,例如我的默认安装目录是C:

css-简单滑动门

效果 鼠标滑过的时候,只在左边的时候左边处于半充满状态,在中间的时候处于全充满                            

分享到:

栏目导航

推荐阅读

热门阅读