我有两个 ImageView
,iv1
和 iv2
,其中 iv2
重叠在 iv1 上
为 20dp
。
现在,如果我恰好在 iv1
可见的区域点击,它会响应事件,但如果我将 iv2
的可见性设置为 GONE
或 INVISIBLE
并使其成为 setEnabled(false)
,我可以完全看到 iv1
,但仍然只是其区域的一部分(在 iv2
后面可见)响应点击事件。
如果重叠 View 被禁用或不可见,如何使完整的 ImageView 响应点击?
最佳答案
这是因为 iv2 在 iv1 前面。尝试调用 iv1.bringToFront();
。这会将 iv1 放在 iv2 的前面,并且它的整个区域都变成了点击响应。
如果以后你想改变 iv2 的可见性,你必须调用 iv2.bringToFront();
来使它们像设置 iv2 之前一样不可见。
如果你想从一开始就将 iv1 放在 iv2 之前,你必须将它的定义放在 iv2 之后的 xml 文件中。 View 将按照它们在布局 xml 文件中出现的顺序绘制。所以第一个 View 在底部,最后一个在顶部。
关于android - 使 View 位于重叠的 View 后面以响应 Tap 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145815/