Android记录单点和多点触控的位置

来源:互联网 发布:百度软件商店 编辑:程序博客网 时间:2024/04/30 13:32

为了完成可以记录滑动和缩放的位置信息,尝试了包括GestureDector类和OnTouchListener类,虽然能够很好的识别具体手势,可是在区分单点还是多点触控方面还是有些欠缺。

本文对TextView进行监听,在position中显示记录触控的痕迹。

tv = (TextView)findViewById(R.id.textv);position = (TextView)findViewById(R.id.position);


通过对event.getPointerCount()来对点的数目进行判断

    通过ACYION_POINTER_DOWN对第二个点进行记录,同时记得用这个参数时要配合ACTION_MASK在switch语句

tv.setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                switch (event.getAction()& MotionEvent.ACTION_MASK){                    case MotionEvent.ACTION_DOWN:                        position.setText("N1S"+" ("+<span style="font-family: Arial, Helvetica, sans-serif;">event.getX()</span><span style="font-family: Arial, Helvetica, sans-serif;">+" , "+</span><span style="font-family: Arial, Helvetica, sans-serif;">event.getY()</span><span style="font-family: Arial, Helvetica, sans-serif;">+")");</span><span style="font-family: Arial, Helvetica, sans-serif;"></span>                        break;                    case MotionEvent.ACTION_POINTER_DOWN:                        position.append("N2S"+" ("+<span style="font-family: Arial, Helvetica, sans-serif;">event.getX()</span><span style="font-family: Arial, Helvetica, sans-serif;">+" , "+</span><span style="font-family: Arial, Helvetica, sans-serif;">event.getY()</span><span style="font-family: Arial, Helvetica, sans-serif;">+")");</span><span style="font-family: Arial, Helvetica, sans-serif;"></span>                        break;                    case MotionEvent.ACTION_MOVE:                        if(event.getPointerCount()<2 ){                        position.append("M" + " (" + event.getX() + " , " + event.getY() + ")");}                        else{                            position.append("TM"+" (" + event.getX(0) + " , " + event.getY(0) + ")"                                    +" (" + event.getX(1) + " , " + event.getY(1) + ")");                        }                }                return true;            }        });



0 0
原创粉丝点击