当另一个布局重叠时,为什么按钮可以点击?

时间:2012-02-27 22:04:39

标签: android layout onclick android-linearlayout

我有一个相对定位的布局。 在其中我(现在)有两件事:

  • 绑定到onClick-Event
  • 的可点击按钮
  • 覆盖全屏的LinearLayout

虽然LinearLayout覆盖了按钮,但该按钮仍然可以点击。 即使叠加层中有另一个按钮。

我该如何避免这种情况?

2 个答案:

答案 0 :(得分:8)

重叠视图(和布局)必须实现onClick侦听器来捕获事件,否则将在底层视图上调度该事件。

答案 1 :(得分:3)

好吧,我发现了一种与动画一起使用的方法:

布局(缩短):

<RelativeLayout ...>
    <Button ... />
    <LinearLayout android:id="@+id/underlay" android:background="#00ffffff" />
    <LinearLayout android:id="@+id/overlay" ... />
</RelativeLayout>

现在淡出&#34;叠加&#34;似乎最好有一个看不见的&#34;衬垫&#34;这是立即可见的:

LinearLayout underlay = (LinearLayout)findViewById(R.id.underlay);
underlay.setVisibility(View.VISIBLE);
underlay.setOnClickListener(...);
//now animate the overlay