如何禁用相对布局弹出窗口后面的视图 - android

时间:2012-10-13 06:06:54

标签: android

我有一个相对布局弹出窗口,在按钮点击时显示。我在同一个屏幕上有一些其他视图,弹出窗口覆盖它们。但是当我点击弹出窗口时,后面的控件/视图会被点击。如何禁用此功能?

(我的一个解决方案是获取所有观看次数setClickable = false。)

但我正在寻找其他解决方案,比如关注当前视图,以便其他视图被设置为禁用。

4 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,最后反而设置为后面的为clickable = false,我只是将clickable = true 添加到< strong>弹出式布局并修复了它。弹出窗口后面的可单击视图不再通过弹出窗口响应单击事件。 :)我甚至不必将弹出窗口改为对话框。 :)

答案 1 :(得分:2)

激活setOnClickListener()到RelativeLayout对象。这会捕获所有点击并阻止点击后面的控件/视图。

例如: -

    RelativeLayout rObj = (RelativeLayout) findViewById(R.id.yourRelativeLayout);
    rObj.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // filter touches when underlying view is Obscured by this view.
        }
    });

答案 2 :(得分:2)

使用对话框。我认为这是弹出窗口要求的最佳解决方案。

final Dialog dialog = new Dialog(NewEntryActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.interview_tab6_popup_drink_containg_alcohol);
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);

答案 3 :(得分:1)

为此,请将RelativeLayout改为BringToFront()

并制作其他观点SetEnabled(false)