Android Touch(4)MotionEvent(*)
1,MotionEvent的复制或构造
有时候可能要保存一个MotionEvent, 它的构造方法是匿名的,不能直接创建,对外提供的获取对象的接口是静态的obtain方法,可以从一个MotionEvent对象获取,也可以从一些变量获取。
1 @Override 2 public boolean onTouchEvent(MotionEvent event) { 3 MotionEvent evcopy = MotionEvent.obtain(event); 4 //...5 }
2,MotionEvent.recycle()
可以将当前的对象回收,下次要用的时候就不用重新再new一个新的对象了,直接从它的回收池里面拿就行。
3,MotionEvent可以在第一个down事件中知道方向?
1 @Override 2 public boolean onTouchEvent(MotionEvent event) { 3 if (event.getAction() == MotionEvent.ACTION_DOWN) { 4 float origin = event.getOrientation(); 5 System.out.println("origin = " + origin); 6 if (origin < 0) { 7 System.out.println("下"); 8 }else{ 9 System.out.println("上"); 10 } 11 } 12 //...13 }