Mi actividad de preferencia principal está configurada en "@android:style/Theme.Light"
. Una de mis preferencias es DialogPreference cuyo cuadro de diálogo contiene un ListView. El cuadro de diálogo de ListView es de color gris oscuro (porque DialogPreference usa AlertBuilder, que crea diálogos de color gris oscuro) y el texto de la lista es negro (porque Theme.Light hace que listViews tenga texto negro). ¿Hay alguna manera fácil de que el ListView se comporte con el mismo estilo que el cuadro de diálogo oscuro? ¿O para que el cuadro de diálogo oscuro se comporte con el mismo estilo que la actividad de luz?Android: DialogPreference color/style?
EDIT:
Basándose en los comentarios de Merlin, parece que lo que debería tratar de hacer es crear un tema LightDialog. Con el fin de hacer esto he intentado: 1. extender Theme.Light de androide y la adición de las propiedades de dialogía Theme.Dialog
<style name="Theme.LightDialog" parent="@android:style/Theme.Light">
<item name="android:windowFrame">@null</item>
<item name="android:windowTitleStyle">@android:style/DialogWindowTitle</item>
<item name="android:windowBackground">@android:drawable/panel_background</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
</style>
... y 2. extendiéndose Theme.Dialog del androide y la adición de las propiedades Lighty de Tema. Ligero.
<style name="Theme.LightDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/screen_background_light</item>
<item name="android:colorBackground">@android:color/background_light</item>
<item name="android:colorForeground">@androidcolor/bright_foreground_light</item>
<item name="android:colorForegroundInverse">@android:color/bright_foreground_light_inverse</item>
<item name="android:textColorPrimary">@android:color/primary_text_light</item>
<item name="android:textColorSecondary">@android:color/secondary_text_light</item>
<item name="android:textColorTertiary">@android:color/tertiary_text_light</item>
<item name="android:textColorPrimaryInverse">@android:color/primary_text_dark</item>
<item name="android:textColorSecondaryInverse">@android:color/secondary_text_dark</item>
<item name="android:textColorTertiaryInverse">@android:color/tertiary_text_dark</item>
<item name="android:textColorPrimaryDisableOnly">@android:color/primary_text_light_disable_only</item>
<item name="android:textColorPrimaryInverseDisableOnly">@android:color/primary_text_dark_disable_only</item>
<item name="android:textColorPrimaryNoDisable">@android:color/primary_text_light_nodisable</item>
<item name="android:textColorSecondaryNoDisable">@android:color/secondary_text_light_nodisable</item>
<item name="android:textColorPrimaryInverseNoDisable">@android:color/primary_text_dark_nodisable</item>
<item name="android:textColorSecondaryInverseNoDisable">@android:color/secondary_text_dark_nodisable</item>
<item name="android:textColorHint">@android:color/hint_foreground_light</item>
<item name="android:textColorHintInverse">@android:color/hint_foreground_dark</item>
</style>
Ambos intentos fallidos debido a que utilizan atributos no públicos. ¿Alguna sugerencia sobre cómo crear un tema LightDialog?
me trataron de crear un tema basado en su sugerencia , pero no tuvo éxito. Por favor mira mi edición. – ab11
Esta es una pregunta separada y debe publicarse como tal en lugar de cambiar el contexto del original. – Merlin
, lo publicaré por separado y marque este como respondido. – ab11