码迷,mamicode.com
首页 > 移动开发 > 详细

Android 简述touch事件中的MotionEvent

时间:2014-08-11 12:00:02      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:android

有关touchEvent的事件里都有一个 MotionEvent 参数,下面来简单介绍一下它的属性的一些含义和使用的方法

通常单指操作时,一般如下:

switch (event.getAction()) {//第一个触摸点
	case MotionEvent.ACTION_DOWN:  //按下 = 0
	<span style="white-space:pre">	float x = event.getX();</span>
		break;
	case MotionEvent.ACTION_MOVE:  //移动 = 2
			
		break;
	case MotionEvent.ACTION_UP:    // 抬起 = 1
			
	break;
}

多点触摸时:

以下属性在api level 5出现,api level 8过时。

MotionEvent.ACTION_POINTER_1_DOWN
MotionEvent.ACTION_POINTER_2_DOWN
MotionEvent.ACTION_POINTER_3_DOWN
MotionEvent.ACTION_POINTER_1_UP
MotionEvent.ACTION_POINTER_2_UP
MotionEvent.ACTION_POINTER_3_UP

api level 8 即2.2后起用:MotionEvent.ACTION_POINTER_DOWN MotionEvent.ACTION_POINTER_UP


通过以下测试发现,单点触摸时,

switch (event.getAction()) {
//		case MotionEvent.ACTION_DOWN: //按下 = 0
//			System.out.println("onTouchEvent");
//			break;
//		case MotionEvent.ACTION_MOVE://移动 = 2
//			
//			break;
//		case MotionEvent.ACTION_UP:// 抬起 = 1
//			
//			break;
			
		case MotionEvent.ACTION_POINTER_DOWN://非第一个触摸点按下  = 5
			System.out.println("ACTION_POINTER_DOWN");
			break;
			
		case MotionEvent.ACTION_POINTER_UP: //非第一个触摸点抬起   = 6
			System.out.println("ACTION_POINTER_UP");
			break;
		default:
			break;
}
MotionEvent.ACTION_POINTER_DOWN MotionEvent.ACTION_POINTER_UP  未执行


第二个点以后取x、y坐标值

float x2 = event.getX(event.getActionIndex());//action index 从0开始到pointer count -1 结束
float y2 = event.getY(event.getActionIndex());//某个index的触摸点的 相对于当前view的y坐标
event.getPointerCount(); //触摸点的数量



Android 简述touch事件中的MotionEvent,布布扣,bubuko.com

Android 简述touch事件中的MotionEvent

标签:android

原文地址:http://blog.csdn.net/jjwwmlp456/article/details/38488267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!