我有两个ImageView
,iv1
和iv2
,其中iv2
与iv1
在20dp
上重叠。
现在,如果我恰好点击了iv1
可见的区域,它将响应事件,但是如果我将iv2
的可见性设置为GONE
或INVISIBLE
并将其设置为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/