Android 터치 이벤트 배포 메커니즘 요약

  • boolean Activity.dispatchTouchEvent(MotionEvent ev)
                   true      ,    activity onTouchEvent
    
  • boolean ViewGroup.dispatchTouchEvent(MotionEvent ev)
              viewgroup                     true            。
    
    PS. View Group의 onIntercept Touch Event와 onTouch Event는 이 방법 내부에서 호출됩니다
  • boolean ViewGroup.onInterceptTouchEvent(MotionEvent ev)
                         
    1. ev.getAction==MotionEvent.ACTION_DOWN
    2.              
    
           true: ViewGroup     onTouchListener     onTouchListener onTouch        onTouchEvent
    
        :ACTION_UP ACTION_MOVE           requestDisallowInterceptTouchEvent(true)          
    
    view Group 자체가 Motion Event를 차단하기로 결정하면ACTION_DOWN 이벤트 시 후속 MotionEvent.ACTION_MOVE 및 MotionEvent.ACTION_UP 이벤트에서 이 메서드를 호출하지 않습니다
  • boolean onTouchEvent(MotionEvent ev)
     View/ViewGroup            onTouchListener       。
         onClickListener clickListener onClick    。
    
  • 좋은 웹페이지 즐겨찾기