Android 自定义屏幕尺寸与对话框
在Android中,当你弹出一个对话框时,它后面的屏幕会变暗。有没有办法控制它的样子?例如,使其或多或少变暗或使用某种图案?是的。你可以控制它 创建对话框后:Android 自定义屏幕尺寸与对话框,android,dialog,Android,Dialog,在Android中,当你弹出一个对话框时,它后面的屏幕会变暗。有没有办法控制它的样子?例如,使其或多或少变暗或使用某种图案?是的。你可以控制它 创建对话框后: WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); lp.dimAmount = 0.0f; // Dim level. 0.0 - no dim, 1.0 - completely opaque dialog.getWindow().setAttri
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.dimAmount = 0.0f; // Dim level. 0.0 - no dim, 1.0 - completely opaque
dialog.getWindow().setAttributes(lp);
Upd:您甚至可以在对话框后面添加模糊:
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
Upd2:
此常量在API级别14中被弃用。不再支持模糊
这个解决方案对我不起作用。还有另一个选项,您可以取消控制变暗的标志。这个代码对我有用:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
或者你可以:
dialog.getWindow().setDimAmount(0.5f);
以下参数在Android 5.1上对我有效
WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_DIM_BEHIND,
PixelFormat.TRANSLUCENT);
params.dimAmount = 0.65f;
可以将参数指定给对话框
dialog.getWindow().addContentView(view, params)
回答得很晚,但我相信随着时间的推移,事情会变得不受欢迎,所以我的回答肯定会对某些人有所帮助。 首先,创建一个对话框:
dialog = new Dialog(ActivityName.this);
dialog .setCancelable(false);
dialog .setContentView(R.layout.dialog_layout);
然后获取该对话框的窗口,并在后面添加一个名为flag_DIM_的标志,最后在屏幕上设置暗量
Window window = dialog.getWindow();
if(window != null){
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); // This flag is required to set otherwise the setDimAmount method will not show any effect
window.setDimAmount(0.5f); //0 for no dim to 1 for full dim
}
然后显示您的对话框
dialog.show();
在关闭对话框之前,请清除以下标志:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
然后解雇:
dialog.dismiss();
精彩的!我明天就试试!模糊是deprecated@Mars对。谢谢,将其添加到answerIt对我的活动没有任何影响,我不明白在设置dimAmount之前为什么要设置dialog contentView,否则就没有了effect@jjyao谢谢…您救了我。此调用至少需要API级别14。dim的颜色如何?