마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

framelayout 뒷화면 터치 방지

0 추천
안녕하세요.

프레임레이아웃으로 스크롤뷰, 텍스트뷰 등등 으로 구성하고

visibile과 gone으로 특정 뷰가 보였다가 사라지게끔(인트로화면처럼?) 만들었는데요

처음 나오는 뷰가 사라지기 전에도, 보이진 않지만 뒤쪽에 배치된 뷰들에 대한 터치이벤트가 발생하네요..

어떻게 막는게 좋을까요?
치솟음 (3,710 포인트) 님이 2015년 6월 3일 질문

2개의 답변

+1 추천
 
채택된 답변

제일 간단한 방법은 

 

앞쪽에 있는 뷰에  setClickable(true) 를 주시면 뒷부분에 있는 뷰들은 이벤트가 발생 하지 않습니다

갈무리 (12,430 포인트) 님이 2015년 6월 3일 답변
치솟음님이 2015년 6월 26일 채택됨
0 추천

터치 이벤트를 처리하는 리스너에 보면 return true|false 를 해야 할겁니다. 거기서 return true; 로 마무리하면 터치이벤트가 더 이상 부모뷰로 이동하지 않을 겁니다.

 

아니면 아직 보이지 않는 뷰들의 터치이벤트 처리시 전환되는 부모뷰가 아직 View.VISIBLE 상태가 아닌지 맞는지를 체크하고 이벤트를 타도록 하는건 어떨까요?
 


* {-webkit-touch-callout: text !important; -webkit-user-select: text !important; -khtml-user-select: text !important; -moz-user-select: text !important; -ms-user-select: text !important; user-select: text !important;}
dante2k (8,390 포인트) 님이 2015년 6월 3일 답변
...