Cuadro de diálogo de alerta personalizada que parece extraño en Android 4.x

Quiero personalizar el diálogo de alerta en mi aplicación para Android, así que empecé cambiando el atributo alertDialogTheme del tema de mi aplicación de la siguiente manera:

Res / values ​​/ themes.xml

<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert"/> </resources> 

Simplemente haciendo eso, no esperaba que el diálogo tuviera un aspecto diferente del estándar, porque el nuevo tema AlertDialogTheme es exactamente el mismo que su padre. Funcionó correctamente en Android Lollipop, pero en Android Kitkat aparece un rectángulo blanco detrás del diálogo. Así es como se veía:

Introduzca aquí la descripción de la imagen

¿Estoy haciendo algo mal? Tal vez usando el padre equivocado?

¡Gracias!

Esto sucede porque está utilizando AlertDialog lugar del relativamente nuevo AlertDialogCompat . Éste trae los mismos diálogos del estilo del diseño del material a través de todas las plataformas y se alienta altamente su uso.

Para usarlo, debe estar seguro de que en su archivo Gradle tiene la siguiente línea dentro de sus dependencias:

com.android.support:appcompat-v7:24.2.1
(Esta es la última versión. Asegúrese de tener todos sus paquetes actualizados mirando al Administrador del SDK).

A continuación, en la actividad en la que desea mostrarla, debe importar android.support.v7.app.AlertDialog y utilizar AlertDialog.Builder exactamente como lo estaba utilizando antes.

Lo arreglé usando el siguiente código:

  <style name="CustomAppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <item name="android:windowBackground">@android:color/transparent</item> </style> 
  • Cómo enviar un SMS en Android Kitkat desde la aplicación no predeterminada sin escribir a SMS Provider
  • Android4.4 no puede manejar la intención de sms con "vnd.android-dir / mms-sms"
  • Ejecutar un tarro multidex independiente en Android Kitkat
  • Notificaciones de pila en Kitkat (API 19) utilizando setGroup () no funciona
  • Escuchar las palabras clave en todo momento, como "Ok google" en 4.4
  • VelocityTracker causa bloqueo en Android 4.4
  • Android KitKat securityException al intentar leer de MediaStore
  • ShouldInterceptRequest en Android 4.4 KitKat
  • Emulator para Android 4.4 KitKat no se inicia
  • Lost appCache de Android 4.4 WebView
  • Barra de navegación translúcida (Android 4.4) - Mostrar contenido debajo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.