【发布时间】:2020-05-28 21:07:20
【问题描述】:
在某些情况下,我有一个 View.INVISIBLE 的视图组。在这种状态下,我希望视图组或其子视图不响应任何点击事件。
根据android中View.INVISIBLE的默认实现,即使视图组的可见性不可见,视图组内的子视图仍然可以点击。我知道我可以将可见性设置为View.GONE,但我不希望删除整个视图组。
我尝试在视图组上将setClickable 设置为true,但它不起作用,子视图仍在响应点击。我不想遍历视图组中的所有视图并单独禁用它们,因为这是我经常要做的事情。
有没有更好的方案来阻止视图组中的所有子视图接收点击事件?
【问题讨论】:
-
尝试在视图组上设置一个无操作触摸监听器。
-
子视图仍然能够接收点击事件。
-
您必须返回
true才能使用该事件。 -
你的意思是
myViewGroup.setOnTouchListener { _, _ -> true }? -
是的。请查看stackoverflow.com/questions/5418510的答案
标签: android android-layout android-view