코딩스토리

[Android/안드로이드] 버튼 터치 이벤트 막기 본문

Android/유용한 기술

[Android/안드로이드] 버튼 터치 이벤트 막기

라크라꾸 2019. 12. 27. 23:23

레이아웃이 겹쳐서 있을 경우 뒤에 배치된 버튼이나 레이아웃에 대한 클릭 이벤트를 적용하고싶지 않을 때가 있습니다.

저는 스크롤뷰 안에 지도api를 넣었는데 스크롤을 하면 스크롤 이벤트와 지도 에서 터치로 위치가 변경되는 이벤트가 중복이 되는 경우가 생겨 지도를 감싼 레이아웃에 클릭 이벤트를 막기 위해 이 방법을 사용했습니다.

 

setEnable()로 막을 경우 색이 어두워지는 효과를 가지게 되지만 setOnTouchListener()를 사용하면 상태는 그대로인데 터치이벤트를 제거할 수 있습니다.

 

    
    mapView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return true;
        }
    });
  

 

위처럼 setOnTouchListener()를 구현하고 onTouch이벤트에서 true를 반환하게 되면 깨끗하게 터치이벤트를 막을 수 있습니다.

Comments