获取多触摸点

核心代码:

获取触摸点的个数和位置

public boolean onTouch(View v, MotionEvent event) {                switch (event.getAction()) {                case MotionEvent.ACTION_DOWN:                    System.out.println("down");                    break;                case MotionEvent.ACTION_UP:                    System.out.println("触摸点的个数:"+event.getPointerCount());                    System.out.println(String.format("x1:%f y1:%f x2:%f y2:%f",event.getX(0),event.getY(0),event.getX(1),event.getY(1)));//                  System.out.println("up");//                  FrameLayout.LayoutParams lp = (LayoutParams) image.getLayoutParams();//                  lp.leftMargin = (int)event.getX();//                  lp.rightMargin = (int)event.getY();//                  image.setLayoutParams(lp);//                  System.out.println(String.format("x:%f,y:%f", event.getX(),event.getY()));                    break;                case MotionEvent.ACTION_MOVE:                    System.out.println("move");                    break;

两个手指缩放android机器人图片

frame.setOnTouchListener(new OnTouchListener() {            @Override                public boolean onTouch(View v, MotionEvent event) {                    switch (event.getAction()) {                    case MotionEvent.ACTION_DOWN:                        System.out.println("down");                        break;                    case MotionEvent.ACTION_UP:                        if (event.getPointerCount()>=2) {                            float offsetx = event.getX(0)-event.getX(1);                            float offsety = event.getY(0)-event.getY(1);                            currentDistance = (float) Math.sqrt(offsetx*offsetx+offsety*offsety);                            if (lastDisatance < 0) {                                lastDisatance = currentDistance;                            }else {                                if (currentDistance-lastDisatance > 5) {                                    FrameLayout.LayoutParams lp = (LayoutParams) image.getLayoutParams();                                    lp.width = (int) (1.1f*image.getWidth());                                    lp.height = (int) (1.1f*image.getHeight());                                    image.setLayoutParams(lp);                                    lastDisatance = currentDistance;                                }else if (lastDisatance-currentDistance > 5) {                                    FrameLayout.LayoutParams lp = (LayoutParams) image.getLayoutParams();                                    lp.width = (int) (0.9f*image.getWidth());                                    lp.height = (int) (0.9f*image.getHeight());                                    image.setLayoutParams(lp);                                    lastDisatance = currentDistance;                                }                            }                        }//                      System.out.println("触摸点的个数:"+event.getPointerCount());//                      System.out.println(String.format("x1:%f y1:%f x2:%f y2:%f",event.getX(0),event.getY(0),event.getX(1),event.getY(1)));    //                  System.out.println("up");    //                  FrameLayout.LayoutParams lp = (LayoutParams) image.getLayoutParams();    //                  lp.leftMargin = (int)event.getX();    //                  lp.rightMargin = (int)event.getY();    //                  image.setLayoutParams(lp);    //                  System.out.println(String.format("x:%f,y:%f", event.getX(),event.getY()));                        break;                    case MotionEvent.ACTION_MOVE:                        System.out.println("move");                        break;                default:                    break;                }                return false;            }        });

更多相关文章

  1. 2011.10.18——— android 自定义Animation
  2. android的图片加载和伸缩处理
  3. Android百度地图之显示地图
  4. Android实现圆角矩形和圆形ImageView的方式
  5. Android(安卓)WebView 向上向下滑动监听
  6. 《Ophone应用开发权威指南》学习:Android(安卓)图形用户界面 之
  7. android 图片的 放大 缩小 移动
  8. Android手势控制实现缩放、移动图片
  9. Android简单明了的使用属性动画ObjectAnimator 旋转 平移 渐变

随机推荐

  1. Android Studio无法执行Java类的main方法
  2. Android 实现在Java代码中修改UI界面,并修
  3. Android API Differences Report
  4. Android ApiDemos示例解析(100):Views->A
  5. CreateProcess error=2, 系统找不到指定
  6. Android添加单元测试的方法与步骤
  7. Android SDK的docs访问速度很慢
  8. android添加超级管理权限
  9. Android环境变量作用--命令行操作
  10. Android 触摸事件传递流程解析