Framelayout行为

时间:2013-06-21 18:28:11

标签: android android-framelayout

我对framelayout的了解是,子视图以堆栈形式绘制,最近添加的子项位于顶部。它也在官方文档页面上。

我已经看到它的行为也是如此,但从过去的一些经历中我注意到,堆栈底部的孩子也可以访问,例如

<framelayout>
<button1>  // should not be accessible
<button2>  // should be accessible

</framelayout>

但是我也可以单击按钮2,framlayout实际上是如何表现的,这是我唯一无法获得的布局。

1 个答案:

答案 0 :(得分:2)

  

我注意到堆栈底部的孩子也可以访问

触摸事件将转到触摸事件的X / Y坐标处位于Z轴顶部的窗口小部件。 RelativeLayout具有相同的效果。

  

<button1> // should be accessible <button2> // should not be accessible

这是不正确的。后来FrameLayoutRelativeLayout的子项在Z轴上较高。因此,button2将浮动在button1之上,它们重叠。如果button1可见,则用户可以点按该可见部分,button1将会收到该触摸事件。 button2,因为它位于FrameLayout的小部件堆栈之上,所以始终可见,并且始终有资格在其可见区域中触摸事件。