事件机制

  • Activity

    1.boolean dispatchTouchEvent(MotionEvent event):分发事件
    2.boolean onTouchEvent(MotionEvent event):处理事件的回调方法,返回true则消费此事件

  • View

    1. boolean dispatchTouchEvent(MotionEvent evetn):分发事件
    2. boolean onTouchEvent(MotionEvent event):处理事件的回调方法
    3. void setOnTouchListener(OnThchListener l):设置事件监听器
    4. void setOnClickListener
    5. void setOnLongClickListener
    6. void setOnCreateContextMenuListener
  • ViewGroup

    1. boolean dispatchTouchEvent(MotionEvent evetn):分发事件
    2. boolean onInterceptTouchEvent(MotionEvent evetn):拦截事件

事件

  • 分发-->dispatchTouchEvent()
  • ViewGoup的拦截-->onInterceptTouchEvent返回true则拦截 传给自己onTouchEvent判断是否要消费,不消费则往上传递
  • 处理-->onTouchEvent() onTouch()
  • 消费-->处理事件的方法返回true 当前事件对象就结束了

得到View的坐标,左上角坐标(getLeft(),getTop()),右下角(getRight(),getBottom())
对View进行动态定位(layout(left,top,right,bottom))

你可能感兴趣的:(事件机制)