728x90

onTouchEvent 2

[Android] View에서 onTouchEvent 이벤트 ACTION_DOWN 만 나오는 문제

안드로이드 개발을 하다 보면 터치 이벤트를 상당히 잘 설계하고 사용해야 한다. 보통 View에서 내가 원하는 위젯을 상속받고 터치 이벤트만 커스텀하여 사용하는 경우도 종종 발생하는데, 그 중에서도 MotionEvent를 다루는 경우가 종종 발생한다. 그런데 막상 MotionEvent로 ACTION_UP / ACTION_DOWN / ACTION_MOVE 를 조절해서 사용해야 하는데, 아무리 이것 저것 건드려봐도 ACTION_DOWN만 넘어오는 경우가 발생한다. 이럴 경우 가장 쉽게 해볼 수 있는 방법은 해당 위젯의 clickable 속성을 true 해주는 경우다. 나의 경우는 ViewPager를 커스텀하여 개발을 진행하는데, 아무리 해도 onTouchEvent에서 ACTION_DOWN만 넘어오길래 한참을 ..

IT/Android 2020.05.04

Custom view [Classname] overrides onTouchEvent but not performClick 오류 처리

안드로이드 커스텀뷰 개발을 하다보면 한번쯤 아래와 같은 경고 메시지를 볼 수 있다. Custom view [Classname] overrides onTouchEvent but not performClick 직역을 해보면, 커스텀뷰 Classname 은 onTouchEvent를 오버라이드 했지만, performClick은 오버라이드하지 않았다. 정도로 해석해볼 수 있다. 이 말이 무엇인지 찾아보니, 커스텀뷰를 만들어 낼때 접근성(Accessibility)를 고려해야 하는데, performClick은 이런 접근성을 고려할 수 있도록 도와준다고 한다. Stack overflow를 찾아보면 다음과 같은 설명이 있다. View가 click이 감지 될 때 performClick을 구현하지 않고 호출하게 되면 Vie..

IT/Android 2020.04.27
728x90