Android dim Dialog背景没有按预期工作

时间:2014-10-14 09:50:28

标签: java android dialog themes

我正在尝试使用自定义进度条创建一个简单的Dialog。 但出于某种原因,我只能将背景完全透明(通过添加Theme_Translucent_NoTitle)或完全变暗(通过从主题中删除半透明)。

我想做的是,能够玩昏暗的数量。这是代码:

public class ProgressWheelDialog extends Dialog{

private ProgressWheel pw;

public ProgressWheelDialog(final Context ctx) {
    // to make transparent  background, add Translucent after Theme_
    super(ctx, android.R.style.Theme_NoTitleBar);
    setContentView(R.layout.dialog_progresswheel);

    // dim background
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
    layoutParams.dimAmount = .5f;
    getWindow().setAttributes(layoutParams);

    // get and spin progress wheel
    pw = (ProgressWheel) findViewById(R.id.pw_spinner);
    pw.setVisibility(ProgressWheel.VISIBLE);
    pw.spin();
}

我做错了什么?上面的代码完全使屏幕变暗(当然除了进度条)

1 个答案:

答案 0 :(得分:4)

显示对话框后需要设置暗淡。

    dialog.show();
    WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
    lp.dimAmount=0.5f; // Dim level. 0.0 - no dim, 1.0 - completely opaque
    dialog.getWindow().setAttributes(lp);