在我的Android应用程序中,我正在显示警告对话框。我想将警告对话框的外部颜色更改为黑色。请建议我有任何想法如何实现这一点。 我显示警告对话框的代码是:
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(ctx, R.style.SetdartDialog));
builder.setView(factory.inflate(R.layout.alert_dialog, null))
.setIcon(R.drawable.icon)
.setCancelable(true)
.setMessage(R.string.check_wireless_settings)
.setTitle(R.string.no_connection)
.setPositiveButton(R.string.myes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
ctx.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
}
})
.setNegativeButton(R.string.mno, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
})
.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
return;
}
})
.show();
并添加了图片以供我的问题参考。
答案 0 :(得分:1)
而不是将其变为黑色,而不是在对话框中创建模糊和变暗的背景窗口在Android中可用。
所以,在这里你可以使背景模糊
我使用AlterDialog.Builder来创建我的对话框,但是这个方法适用于所有类型的对话框,只要你可以通过getWindow访问它。
@Override
public boolean supportsParameter(final MethodParameter parameter) {
return parameter.hasParameterAnnotation(YourCustomAnnotation.class);
}
@Override
public Object resolveArgument(final MethodParameter parameter, final ModelAndViewContainer mavContainer,
final NativeWebRequest webRequest, final WebDataBinderFactory binderFactory) throws Exception {
return ...; // a List
}
下面显示了添加模糊和消除背景变暗所需的代码(因为我认为当背景光线充足时模糊看起来更好)。
AlertDialog.Builder dialog = new AlertDialog.Builder(WordCube.this)
.setTitle(WordCube.this.getResources().getString(R.string.app_name))
.setMessage(s)
.setIcon(R.drawable.logo)
.setPositiveButton(R.string.btn_close, null)
.show();
模糊只是使用最后一行(第4行)创建的,该行为对话框设置了一个标志,告诉android我们希望窗口下方的窗口模糊。要实现调光,我们需要检索对话框窗口的布局参数,将调暗量设置为零,使用setAttributes更新这些参数(第1-3行)。
如有任何意见,问题或改进,请告知我们。
答案 1 :(得分:0)
在初始化(显示)AlertDialog之前,您可以将父布局的可见性设置为 INVISIBLE 或 GONE ,然后在解除AlertDialog之前将其设置为 VISIBLE 强>