我正在尝试使用自定义进度条创建一个简单的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();
}
我做错了什么?上面的代码完全使屏幕变暗(当然除了进度条)
答案 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);