Android开发中实现多点触摸的方法

  相关函数:

  1. event.getAction() //获取触控动作比如ACTION_DOWN
  2. event.getPointerCount(); //获取触控点的数量,比如2则可能是两个手指同时按压屏幕
  3. event.getPointerId(nID); //对于每个触控的点的细节,我们可以通过一个循环执行getPointerId方法获取索引
  4. event.getX(nID); //获取第nID个触控点的x位置
  5. event.getY(nID); //获取第nID个点触控的y位置
  6. event.getPressure(nID); //LCD可以感应出用户的手指压力,当然具体的级别由驱动和物理硬件决定的
  7. event.getDownTime() //按下开始时间
  8. event.getEventTime() // 事件结束时间
  9. event.getEventTime()-event.getDownTime()); //总共按下时花费时间
/*****************************************************************************************************/


     @Override  

        public boolean onTouchEvent(MotionEvent event) {  
            // 获得屏幕触点数量  //TOUCHPOINTS = 10;
            int pointerCount = event.getPointerCount();  
            if (pointerCount > MAX_TOUCHPOINTS) {  
                pointerCount = MAX_TOUCHPOINTS;  
            }  
            // 锁定Canvas,开始进行相应的界面处理  
            Canvas c = getHolder().lockCanvas();  
            if (c != null) {  
                c.drawColor(Color.BLACK);  
                if (event.getAction() == MotionEvent.ACTION_UP) {  
                    // 当手离开屏幕时,清屏  
                } else {  
                    // 先在屏幕上画一个十字,然后画一个圆  
                    for (int i = 0; i < pointerCount; i++) {  
                        // 获取一个触点的坐标,然后开始绘制  
                        int id = event.getPointerId(i);  
                        int x = (int) event.getX(i);  
                        int y = (int) event.getY(i);  
                        ....
                    }  

                }  
                // 画完后,unlock  
                getHolder().unlockCanvasAndPost(c);  
            }  
            return true;
        }  

你可能感兴趣的:(Android开发中实现多点触摸的方法)