我有两个ImageViewiv1iv2,其中iv2iv120dp上重叠。

现在,如果我恰好点击了iv1可见的区域,它将响应事件,但是如果我将iv2的可见性设置为GONEINVISIBLE并将其设置为setEnabled(false),则可以看到iv1完全,但是仍然只有其部分区域(在iv2后面可见)响应抽头事件。

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

最佳答案

这是因为iv2在iv1之前。尝试呼叫iv1.bringToFront();。那将把iv1放置在iv2的前面,并且它的整个区域都可以响应抽头。

如果以后要更改iv2的可见性,则必须调用iv2.bringToFront();使设置iv2不可见之前的状态。

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

关于android - 使 View 位于重叠的 View 后面以响应Tap事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11145815/

10-10 03:10