我有两个ImageView
,iv1
和iv2
,其中iv2
与iv1
重叠20dp
。
现在,如果我在iv1
可见的区域中完全点按,它会响应事件,但如果我将iv2
的可见性设置为GONE
或INVISIBLE
并且它也是setEnabled(false)
,我可以完全看到iv1
,但仍然只有部分区域(在iv2
后面可见)才会响应点击事件。
如果重叠视图被禁用或不可见,如何使完整的ImageView能够快速响应?
答案 0 :(得分:3)
这种情况正在发生,因为iv2在iv1前面。尝试拨打iv1.bringToFront();
。这将iv1放在iv2前面,它的整个区域变得轻敲响应。
如果以后你想改变iv2的可见性,你必须在设置iv2隐身之前调用iv2.bringToFront();
来制作类似的东西。
如果你想从头开始将iv1放在iv2前面,你必须在iv2之后将它的定义放在xml文件中。视图将按布局xml文件中的外观顺序绘制。所以第一个视图位于底部,最后一个位于顶部。