Android 탭 이벤트 투명 메모

문제



Android 앱에서 blueView 안에 있는 orangeView 탭 이벤트를 활성화/비활성화하는 사양이 있었습니다.
비활성화하면 orangeView를 탭할 때 탭 이벤트가 blueView까지 도착하지 않았으므로 해당 방법을 기록해 둡니다.



해결



View#isClickable 을 false로 설정하면 blueView 탭 이벤트가 호출됩니다.
그러나 orangeView에 리플 애니메이션 등을 붙이면 그것이 작동합니다.
orangeView.isClickable = false

View#isEnabled 을 false로 설정하여 orangeView 탭 이벤트를 비활성화할 수 있습니다.
그러나 isClickable이 true이면 blueView 탭 이벤트가 호출되지 않습니다.
orangeView.isEnabled = false

위의 두 점을 조합하여 다음과 같이 함으로써 해결할 수 있습니다.
// orangeViewのタップイベント有効
orangeView.isClickable = true
orangeView.isEnabled = true

// orangeViewのタップイベント無効
orangeView.isClickable = false
orangeView.isEnabled = false

GitHub 샘플

좋은 웹페이지 즐겨찾기