Idea tomada de Android: Blurring and dimming background windows from dialog. Tengo problemas para difuminar el contenido de mi cuadro de diálogo. Al llamar eula.getWindow() recibo este error:El método getWindow() no está definido para el tipo AlertDialog.Builder
The method getWindow() is undefined for the type AlertDialog.Builder
el EULA se muestra con este bit de código de la actividad principal:
EulaHelper.showEula(false, this);
Cualquier ayuda es muy apreciada.
public static void showEula(final boolean accepted, final FragmentActivity activity) {
AlertDialog.Builder eula = new AlertDialog.Builder(activity)
.setTitle(R.string.eula_title)
.setIcon(android.R.drawable.ic_dialog_info)
.setMessage(activity.getString(R.raw.eula))
.setCancelable(accepted);
if (accepted) {
// If they've accepted the EULA allow, show an OK to dismiss.
eula.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
} else {
// If they haven't accepted the EULA allow, show accept/decline buttons and exit on
// decline.
eula
.setPositiveButton(R.string.accept,
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
setAcceptedEula(activity);
dialog.dismiss();
}
})
.setNegativeButton(R.string.decline,
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
activity.finish();
}
});
}
eula.show();
WindowManager.LayoutParams lp = eula.getWindow().getAttributes();
lp.dimAmount = 0.0F;
eula.getWindow().setAttributes(lp);
eula.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
}
Funcionó como se describe. Gracias. Además, gracias por el enlace de referencia a la constante obsoleta. Lo hará por ahora, pero creo que tengo algo que hacer si quiero mantener esa característica en el futuro. –