pan/fling 동작을 처리하기 위해 onTouchEvent를 재정의하고 Zoom 제스처를 처리하기 위해 ScaleGestureDetector.SimpleOnScaleGestureListener를 사용하는 사용자 정의 ZoomableViewGroup이 있습니다. 이 ZoomableViewGroup ViewGroup의 하위 onTouch 사용하려고 때까지 제대로 작동합니다.줌이있는 부모 ViewGroup과 자식 ImageView간에 onTouchEvent 및 onTouch를 처리합니까?
이 ZoomableViewGroup 안에는 버튼 역할을하는 여러 개의 ImageView가 있습니다. 나는 부모의 기능이 아이들의 온 터치보다 선례가되기를 바란다. 그것이 그대로 ImageViews 아이가 touchevents를 가로 채고 그것의 부모에게 전달하지 않는 것 같습니다.
부모님의 터치 기능이 자녀의 터치 기능에 유지되도록하는 좋은 방법이 무엇인지 알고 싶습니다.
도움이나 제안을 보내 주시면 대단히 감사하겠습니다.
편집 :
귀하의 응답이 있었다 매우 도움 제이슨, 나는 내가 더 나은 지금이 상황을 이해하기 시작하고 생각합니다. 나는
- 당신이 내 줌이 가능한 뷰 그룹의 내부 이미지 뷰를 통해 화면을 터치 혼동 한
- 난 이벤트가 팬 또는 줌 제스처 경우 내 뷰 그룹 행동하려는, 그래서 ACTION_CANCEL '
- '
- 가 내 뷰 그룹이 ACTION_DOWN 이벤트를 소비 할 때, 내 ImageView.onTouch를 보내는 것으로 보인다 true'for ACTION_DOWN '돌아갑니다 내 ImageView.onTouch를 만났 으면합니다. hod는 ACTION_MOVE가 선행 값보다 작 으면 ACTION_UP 이벤트에 응답합니다.
부모님 ViewGroup에서 ACTION_CANCEL을 받으면 내 ImageView에서 관련 ACTION_UP 정보를 얻는 방법은 무엇입니까?
내가 여기서 무슨 일이 일어나고 있는지 해석하고 있다면 나에게 알려주십시오! 다시 한번 감사드립니다!
터치 이벤트가 slop 값을 지나쳐 드래그 된 후에 만 터치 이벤트를 가로 채길 원한다면, 그때까지'onInterceptTouchEvent()'메소드에서'false'를 리턴해야합니다. – corsair992