Android 多点触控和单点触控同时进行的问题
最近在写一个Android 应用程序。想学习使用多点触控和单点触控。单点触控可以移动画面。多点可以放大和缩小画面。很多应用都有这样的功能。
但是在写的过程中发现这样一个非常纠结的问题。每次多点触控的时候,同时也识别为单点触控。于是乎同时执行单点触控和多点触控的代码。这样有比较大的干扰。不知道各位大神有什么样的建议。
但是在写的过程中发现这样一个非常纠结的问题。每次多点触控的时候,同时也识别为单点触控。于是乎同时执行单点触控和多点触控的代码。这样有比较大的干扰。不知道各位大神有什么样的建议。
switch(event.getPointerCount()){
case 2:
switch(event.getAction()){
case MotionEvent.ACTION_POINTER_2_DOWN:
moveX = event.getX(1) - event.getX(0);
moveY = event.getY(1) - event.getY(0);
beforeDistance = (float)Math.sqrt(moveX*moveX + moveY*moveY);
Log.i(TAG, "pointer down: " +x0+" "+ y0);
break;
case MotionEvent.ACTION_POINTER_UP:
moveX = event.getX(1) - event.getX(0);
moveY = event.getY(1) - event.getY(0);
afterDistance = (float)Math.sqrt(moveX*moveX + moveY*moveY);
int width = (int)(iView.getWidth()*afterDistance/beforeDistance);
int height = (int)(iView.getHeight()*afterDistance/beforeDistance);
iView.layout(x0, y0, x0 + width, y0 + height);
Log.i(TAG, "pointer up: " +x0+" "+ y0);
break;
default:
break;
}
break;
case 1:
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
x = event.getX();
y = event.getY();
break;
case MotionEvent.ACTION_MOVE:
mx = (int) (event.getX() - x + x0);
my = (int) (event.getY() - y + y0);
iView.layout(mx , my , mx + iView.getWidth(), my + iView.getHeight());
break;
case MotionEvent.ACTION_UP:
x0 = mx;
y0 = my;
Log.i(TAG, x0+", "+y0);
break;
default:
break;
}
break;
default:
break;
}
...全文
相关推荐
安卓android 多点触控实例源代码
android 多点触控实例源代码介绍:一个多点触控的源码,没什么好说的,看源码吧。
Android多点触控图片缩放技术实现
随着移动设备的普及,触控操作已成为用户与移动应用交互的主要方式之一。多点触控,顾名思义,就是设备同时响应多个触摸点(手指)的操作,它极大地提升了用户交互的灵活性与丰富度。在Android平台上,多点触控技术为开发者提供了强大的界面交互能力,尤其是在游戏、图片浏览、地图导航等场景中,其重要性不言而喻。Android系统通过一系列精心设计的API,使得多点触控的实现成为可能。这些API不仅能够识别每一个触摸点的具体位置和移动轨迹,还能将多个触摸点的信息综合起来,为开发者提供处理复杂手势和动态交互的工具。
安卓多点触控手势操作相关-android手势绘制文字.rar
android手势绘制文字.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
安卓项目源码Android手势滑动源码
安卓项目源码Android 手势滑动源码
多点触控缩放图片及单点触控图片移动
多点触控缩放图片及单点触控图片移动


