問題
Androidアプリにおきまして、blueViewの中にあるorangeViewのタップイベントの有効・無効を切り替える仕様がありました。
無効にした場合、orangeViewをタップしたとき、タップイベントがblueViewまで届かなかったので、その対応方法をメモしておきます。
解決
View#isClickableをfalseにすることで、blueViewのタップイベントが呼ばれるようになります。
しかし、orangeViewにリップルアニメーションなどつけていると、それが動作してしまいます。
orangeView.isClickable = false
View#isEnabledをfalseにすることで、orangeViewのタップイベントを無効にすることができます。
しかし、isClickableがtrueの場合、blueViewのタップイベントが呼ばれません。
orangeView.isEnabled = false
上記、2点を組み合わせて、以下のようにすることで解決することができます。
// orangeViewのタップイベント有効
orangeView.isClickable = true
orangeView.isEnabled = true
// orangeViewのタップイベント無効
orangeView.isClickable = false
orangeView.isEnabled = false