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;
        }  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值