转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463
1.区别:onTouch和onTouchEvent
2.listView引入了滑动,就不能滚动3.图片轮询器里的图片使用Button而不用imageView?
4.从源码分析android事件分发机制
5.先执行onTouch,再执行onClick,onTouch的返回值改为true,则onClick不再执行(返回true表示这个事件被onTouch消费掉了,
而不会继续往下传)
6.原理:
①首先,只要你触摸任何一个控件,一定会调用该控件的dispatchTouchEvent方法(最大父类View的方法,如button的类里
没有这个方法,父类TextView也没有,View里有)
② View 中的dispatchTouchEvent方法源码
public boolean dispatchTouchEvent(MotionEvent event){
if (mOnTouchListener != null && (mViewFlags & ENABLED_MASK) == ENABLED &&
mOnTouchListener.onTouch(this, event)) {-->第三个条件为onTouch方法中返回值,如果返回true,那整个方法直接返回true,表示执行完毕
return true;
}
return onTouchEvent(event);-->表示继续执行onTouchEvent(event);-->可以直到onclick方法一定是在这里执行的
}