使AlertDialog背后的背景为黑色或不透明而不替换为Dialog

时间:2013-12-30 08:18:28

标签: java android alertdialog

是否可以在不使用Dialog / CustomDialog的情况下使AlertDialog背后的背景不透明或黑色,我目前有这个,

<item name="android:backgroundDimEnabled">true</item>

以我的风格分配给AlertDialog的构造函数。但它不够黑暗,用户仍然可以看到我不想要的信息。说实话,我不想使用Dialog的原因是我已经使用AlertDialog了所有工作,并且认为检查是否有人知道这样做的快速方法是个好主意。

2 个答案:

答案 0 :(得分:1)

private void dimActivity(Dialog dialog, float dimAmount) {
    WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
    lp.dimAmount = dimAmount;
    dialog.getWindow().setAttributes(lp);
    dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}

dimAmount:0 - 没有调光,1.0f完全调光。您可以查看:How to dim a screen on click of a button in android?

答案 1 :(得分:0)

使用此代码可能会对您有所帮助

final Dialog dialog = new Dialog(context);
        Window window = dialog.getWindow();
        window.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
        WindowManager.LayoutParams.FLAG_DIM_BEHIND);