定义触摸事件
在处理触摸事件的时候,主要有两种启动方式
1,view.setOnTouchListener()
2,在自定义view/activity的时候覆盖一个方法onTouchEvent()
这两种方法基本上等效,自定义的时候用方法2,其他时候用方法1。
注意一点,假如在activity里面设置onTouchEvent()
,有时候会不触发。因为如果此activity的子view能处理触摸事件,那么activity的触摸事件就会被忽略
所以,一般情况在VIEW里面定义触摸事件是最好的。
MotionEvent
MotionEvent
onTouchEvent(MotionEvent event){}
在方法体里面要对event
进行判断,是哪一种触摸模式,然后可以从这个event里面获得各种信息
event.getAction()
可以获得所有信息,包括触摸模式,触摸点索引,也就是以下两种信息
event.getActionMasked()
获得触摸模式信息
event.getActionIndex()
获得当前触摸点的索引
一般情况用后面两种分开的信息,第一种包含后面两种信息。后面两种则通过掩码的方法获得特定信息,这样做的好处