1.MotionEvent.ACTION_DOWN
当屏幕检测到第一个触点按下之后就会触发到这个事件
2.MotionEvent.ACTION_MOVE
当触点在屏幕上移动时触发、触点在屏幕上停留也是会触发的、主要是由于它的灵敏度很高
而我们的手指又不可能完全静止(即使我们感觉不到移动、但其实我们的手指也在不停地抖动)
3.MotionEvent.ACTION_POINTER_DOWN
当屏幕上已经有触点处于按下的状态的时候、再有新的触点被按下时触发
4.MotionEvent.ACTION_POINTER_UP
当屏幕上有多个点被按住、松开其中一个点时触发(即非最后一个点被放开时)触发
5.MotionEvent.ACTION_UP
当最后一个触点松开时被触发
6.MotionEvent.ACTION_SCROLL
非触摸滚动、主要是由鼠标、滚轮、轨迹球触发
7.MotionEvent.ACTION_CANCEL
不是由用户直接触发、有系统再需要的时候触发、例如当父view通过使函数onInterceptTouchEvent()返回true
从子view拿回处理事件的控制权是、就会给子view发一个ACTION_CANCEL事件
这里了view就再也不会收到事件了、可以将其视为ACTION_UP事件对待
这个类的使用:
scrollView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_MOVE){
//可以监听到ScrollView的滚动事件
Toast.makeText(this, "sdfsdfsdf", Toast.LENGTH_SHORT).show();
}
return false;
}
});