MotionEvent】的更多相关文章

摘要 本文是手势识别输入事件处理的完整学习记录.内容包括输入事件InputEvent响应方式,触摸事件MotionEvent的概念和使用,触摸事件的动作分类.多点触摸.根据案例和API分析了触摸手势Touch Gesture的识别处理的一般过程.介绍了相关的GestureDetector,Scroller和VelocityTracker.最后分析drag和scale等一些手势的识别. 输入源分类 虽然android本身是一个完整的系统,它主要运行在移动设备的特性决定了我们在它上面开的app绝大数…
遇到这样一个需求:应用无论处于哪个view controller,摇动手机,都能够出发某一方法. 能够想到的思路就是用苹果封装好的“MotionEvent”,但是如果简单的把一下代码加到某一view controller中,那么只有在该view controller展示在前端时,摇动手机才会出发方法. - (BOOL)canBecomeFirstResponder {//默认是NO,所以得重写此方法,设成YES return YES; } 然后实现下列方法://很像TouchEvent事件 -…
先看效果图 关键代码(此处记录单点): switch (event.getAction()){ case MotionEvent.ACTION_DOWN: if (veloctiy==null) { veloctiy=VelocityTracker.obtain(); } veloctiy.addMovement(event); break; case MotionEvent.ACTION_MOVE: veloctiy.addMovement(event); veloctiy.computeCu…
1.Android坐标系 在Android中,屏幕最左上角的顶点作为Android坐标系的原点,这个点向左是X轴正方向,这个点向下是Y轴正方向. 系统提供了getLocationOnScreen(int location[])这样的方法来获得Android坐标系中中点的位置(即该图的左上角在Android坐标系中的坐标).另外,触控事件中使用getRawX() .getRawY()方法所获得的坐标同样是Android坐标系中的坐标. 2.视图坐标系 Android除了上面说的坐标系之外,还有一个…
思路: 1.记录ACTION_DOWN的aX, aY坐标: 2.在ACTION_MOVE判断是否移动,移动则取消记录时间,没移动就记录: 3.记录时间,按下坐标,移动坐标分别显示在TextView aa, bb, cc: //声明 public class MainActivity extends ActionBarActivity { private static TextView aa, bb, cc; private float atime; private float aX, aY; p…
在android中,事件主要包括点击.长按.拖曳.滑动等操作,这些构成了Android的事件响应,总体来说,所有的事件都由如下三个部分作为基础构成: 按下(action_down),移动(action_move),抬起(action_up).各种响应归根结底都是基于View以及ViewGroup的,这两者中响应的方法分别有: View.java中: publi boolean dispatchTouchEvent(MotionEvent event)public boolean onTouchE…
1,MotionEvent的复制或构造 有时候可能要保存一个MotionEvent, 它的构造方法是匿名的,不能直接创建,对外提供的获取对象的接口是静态的obtain方法,可以从一个MotionEvent对象获取,也可以从一些变量获取. @Override public boolean onTouchEvent(MotionEvent event) { MotionEvent evcopy = MotionEvent.obtain(event); //... } 2,MotionEvent.re…
public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.…
http://blog.csdn.net/ztp800201/article/details/17218067 public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; @Override public void onCreate(Bundle savedInstanceState)…
ACTION_MASK在Android中是应用于多点触摸操作,字面上的意思大概是动作掩码的意思吧. 在onTouchEvent(MotionEvent event)中,使用switch (event.getAction())可以处理ACTION_DOWN和ACTION_UP事件:   使用switch (event.getAction() & MotionEvent.ACTION_MASK)就可以处理处理多点触摸的ACTION_POINTER_DOWN和ACTION_POINTER_UP事件. …