1

我在这里使用另一个答案的代码:

 AlertDialog.Builder adb = new AlertDialog.Builder(this);
    Dialog d = adb.setView(new View(this)).create();
    // (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)

    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(d.getWindow().getAttributes());
    lp.width = WindowManager.LayoutParams.FILL_PARENT;
    lp.height = WindowManager.LayoutParams.FILL_PARENT;
    d.show();
    d.getWindow().setAttributes(lp);

我真的发现全屏制作 alertDialog 很有用,但颜色最终是带有白色文本的黑色背景,而不是带有黑色文本的白色背景。我不知道这段代码如何改变颜色。谁能提供一些信息?

4

1 回答 1

0

在行中:

Dialog d = adb.setView(new View(this)).create();

您创建了一个View默认为黑色背景的新选项。

然后你在任何地方都使用这个视图属性:

lp.copyFrom(d.getWindow().getAttributes());
d.getWindow().setAttributes(lp);

解决方案:

创建新视图后,设置背景:

View view = new View(this);
view.setBackgroundColor(...);
Dialog d = adb.setView(view).create();

问候。

于 2012-11-23T01:29:18.850 回答