S라는 슬라이드 메뉴가 구성되어진 Activity가 있을 때,
class A extends S , class B extends S , ...
와 같이 구성되어 있습니다.
슬라이드 메뉴는 화면 왼쪽 끝에서 swipe를 할 때 열려지도록 해놓았습니다.
즉, S Activity에는 자체적으로 TouchEvent가 발생했을 때 처리하는 코드가 작성되어 있습니다.
이 때, A 클래스에서 GridView를 상속 받았다고 가정해 봅니다.
A에서 GridView에 setOnTouchListener를 설정해서 GridView만의 터치가 되게 하려고 코딩했습니다.
하지만 실제 실행해보면.. 슬라이드 메뉴 구성 당시 설정했던 Touch 이벤트만 발생합니다.
GridView위에서 손가락을 눌러대도 슬라이드의 Touch 이벤트만 발생합니다.
슬라이드 메뉴 구성 당시.
LinearLayout을 상속받은 클래스 하나 만들어서 자체적으로 터치이벤트가 발생했을 때 슬라이드 메뉴가 펼쳐지도록
코딩이 되어 있거든요. 이때 사용한게, ViewGroup을 가져와서 View Group에 속한 모든 화면에 터치 리스너를 박았어요.
이렇게 하면 어떤 뷰에서든 왼쪽 끝에서 swipe 했을 때 슬라이드메뉴가 열려지더라구요.
단점은 지금과 같이 이 S 를 상속받는 모든 Activity에서는 새로 Touch 관련 리스너를 등록해도 무용지물이라는 거죠.
방법이 없을까요?