1

我有两个ImageViewsiv1iv2,其中与withiv2重叠。iv120dp

现在,如果我在可见的区域准确点击iv1,它会响应事件,但如果我将iv2's visibility 设置为GONEorINVISIBLE并使其成为setEnabled(false),我可以iv1完全看到,但仍然只是其区域的一部分(在后面可见iv2)响应点击事件。

如果重叠视图被禁用或不可见,如何使完整的 ImageView 响应点击?

4

1 回答 1

3

这是因为 iv2 在 iv1 前面。尝试调用iv1.bringToFront();. 这会将 iv1 放在 iv2 的前面,并且它的整个区域都会响应点击。

如果稍后您想更改 iv2 的可见性,则必须调用iv2.bringToFront();以使事情像在设置 iv2 不可见之前一样。

如果要从一开始就将 iv1 放在 iv2 前面,则必须将其定义放在 iv2 之后的 xml 文件中。视图将按照它们在布局 xml 文件中出现的顺序进行绘制。所以第一个视图在底部,最后一个视图在顶部。

于 2012-06-21T20:31:30.440 回答