0

这是我尝试过的:

    public AlertDialogEx(final Context context, View lytCustom)
    {
        // Set your theme here
        super(context, android.R.style.Theme_Translucent);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        // This is the layout XML file that describes your Dialog layout
        this.setView(lytCustom);
//        this.setContentView(lytCustom);
    }

它并没有摆脱黑色背景:

在此处输入图像描述

使用setContentView()而不是setView()抛出臭名昭著的“requestFeature() 必须在添加内容之前调用”消息,不幸的是没有明显的原因。我怎样才能实现我的目标?

4

2 回答 2

0

最终得到了一个常规的全屏 Activity,而不是使用主题 @android:style/Theme.Translucent.NoTitleBar 的 AlertDialog,并且有很多透明背景。

于 2012-10-09T15:11:24.777 回答
0

您应该在 xml 布局文件/中定义对话框的背景,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?windowBackground"
android:orientation="vertical" >
.........................
body of your dialog
...........................
</LinearLayout>

或者您可以以编程方式执行此操作

  view.setBackgroundColor(color)
于 2012-10-08T10:38:56.713 回答