PhoneGap 3.x Android – Tema de Popup / Dialog nativo
Tengo un proyecto PhoneGap 3.1 en ejecución en Android que está funcionando bien – compilado con Android API lvl. 19. Sin embargo, los diálogos / alertas nativos utilizan la apariencia y la sensación Froyo / Android 2.x, mientras que me gustaría que usaran la apariencia y la sensación de ICS / Android 4.x. En una versión anterior de mi, me las arreglé para obtener el tema del diálogo utilizando ICS mediante la actualización de la targetSDKVersion en AndroidManifest.xml. Sin embargo, esto no ha funcionado en mi proyecto 3.1.
Este es un ejemplo de cómo se ven en la versión de mi aplicación que ejecuta PhoneGap 2.5:
- Creación de estilo predeterminado con atributos personalizados
- Estilo ICS en aplicaciones Froyo y Gingerbread
- Barra de herramientas de AppCompat popupTheme no se utiliza en ShareAction MenuItem
- Cómo cambiar el tema de otro recurso de la aplicación en android?
- El botón de radio creado dinámicamente o CheckBox no utiliza el acento de color
Este es un ejemplo de cómo se ven en mi aplicación que ejecuta PhoneGap 3.1:
Creo que esto es menos de un problema de PhoneGap, pero más una configuración de proyecto Android Eclipse. Pero tengo la no idea de lo que tengo que cambiar para arreglar esto? ¿Podría alguien aconsejar por favor? ¡Gracias!
- Cómo establecer el tema para ProgressBar indeterminista en ProgressDialog en Android
- Tema de DatePickerDialog de Android 6.0
- Qué atributo de tema cambia el color de texto de un mensaje de error de EditText
- Escribir aplicaciones temáticas en Android
- Cómo establecer false cancelable a una actividad cuando se abre como un cuadro de diálogo?
- Temas de Android dificultan la implementación de la más simple: personalizado por color de tema
- Diseño de widget Android - fondo negro predeterminado
- Estilo de la casilla de verificación de Android
No te preocupes – arreglarlo yo mismo. Para aquellos que quieran saber, hay la siguiente etiqueta establecida en el archivo de manifiesto por defecto. De forma predeterminada, se establece en:
android:theme="Theme.Black.NoTitleBar"
Cambiarlo a lo siguiente lo arregló:
android:theme="Theme.DeviceDefault"
Muy simple, supongo :).
Actualizar
A partir de org.apache.cordova.dialog v2.9.0, los chicos del proyecto Cordova cambiaron la fuente de Android para contener un valor de tema por defecto a un valor codificado, como sigue:
new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
Es frustrante, pero puedes comentar esta línea y reemplazarla por:
new AlertDialog.Builder(cordova.getActivity());
Para restaurar el comportamiento anterior y hacer que Cordova use el valor especificado en AndroidManifest.xml.