В моем приложении для Android я использую различные пользовательские темы в разных действиях, и все они работают нормально. Все эти темы используют одни и те же пользовательские стили для кнопок, элементов управления и т. д.
Мои предпочтения используют стандартные действия Preference, которые я определяю в XML и стиле через манифест.
Однако, когда у меня есть предпочтение, которое вызывает запуск диалогового окна предупреждения, например ListPreference, диалоговое окно использует стандартные кнопки. Кажется, он использует мой собственный стиль EditText в EditTextPreference... но не мой фон или цвет текста.
Кто-нибудь знает, почему это происходит?
Часть кода:
Стили:
<style name="Theme.Prefs" parent="@android:style/Theme.Holo.Light">
<item name="android:windowBackground">@drawable/background</item>
<item name="android:buttonStyle">@style/CustomButtonStyle</item>
<item name="android:editTextStyle">@style/CustomEditTextStyle</item>
</style>
<style name="CustomButtonStyle" parent="@android:style/Widget.Holo.Button">
<item name="android:background">@drawable/custom_button</item>
<item name="android:textSize">@dimen/dialog_text_size_normal</item>
<item name="android:textColor">@color/dialog_control_colour</item>
</style>
<style name="CustomEditTextStyle" parent="@android:style/Widget.Holo.EditText">
<item name="android:background">@drawable/custom_textfield</item>
<item name="android:textColor">@color/dialog_control_colour</item>
<item name="android:textSize">@dimen/dialog_text_size_normal</item>
</style>
И в манифесте:
<activity
android:name="com.breadbun.prefs.MainPreferencesActivity"
android:theme="@style/Theme.Prefs"
android:screenOrientation="portrait">
</activity>