Я немного поразмыслил над этим. Мне нужно сделать, изменить стиль всех AlertDialog
в моем приложении Android. Диалоговый фон должен быть белым, а текст должен быть черным. Я пробовал создавать множество стилей, тем и применять код, манифест и т.д., Но не добился успеха в отношении цветов текста внутри AlertDialog
. Прямо сейчас у меня самый простой из кодов:
манифеста:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
styles.xml:
<style name="AppTheme" parent="AppBaseTheme"> <item name="android:alertDialogStyle">@style/DialogStyle</item> </style> <style name="DialogStyle" parent="@android:style/Theme.Dialog"> <!-- changing these background stuff works fine --> <item name="android:bottomBright">@android:color/white</item> <item name="android:bottomDark">@android:color/white</item> <item name="android:bottomMedium">@drawable/dialog_footer_bg</item> <item name="android:centerBright">@android:color/white</item> <item name="android:centerDark">@drawable/dialog_body_bg</item> <item name="android:centerMedium">@android:color/white</item> <item name="android:fullBright">@color/orange</item> <item name="android:fullDark">@color/orange</item> <item name="android:topBright">@color/green</item> <item name="android:topDark">@drawable/dialog_header_bg</item>
Элементы, перечисленные ниже, не работают (прочитайте комментарии, которые я поставил над каждым элементом):
<!-- panelBackground is not getting set to null, there is something squarish around it --> <item name="android:panelBackground">@null</item> <!-- Setting this textColor doesn't seem to have any effect at all. Messages, title, button text color, whatever; nothing changes. --> <item name="android:textColor">#000000</item> <!-- Also tried with textAppearance, as follows. Didn't work --> <item name="android:textAppearance">?android:attr/textColorPrimaryInverse</item> <!-- Also tried changing textAppearancePrimary, to no avail --> <item name="android:textColorPrimary">#000000</item> <!-- Also need to change the dialog title text, tried it as follows, dint work: --> <item name="android:windowTitleStyle">@style/DialogWindowTitle</item> </style>
Диалоговое окно DialogWindowTitle определяется следующим образом:
<style name="DialogWindowTitle"> <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item> </style>
Поэтому никто из них не работает. Может ли кто-нибудь сказать мне, что я могу делать неправильно, и как я могу:
- Изменить цвет текста для сообщений (текст контента)
- Изменить цвет текста заголовка
- Удалите панель фона
Примечание. Мне нужно поддерживать API 8 (2.2) вверх. Кроме того, я рассмотрел большую часть связанного с этим вопроса и группы google, но не могу понять, хотя у меня есть чувство, что оно прямо под моим носом!
Изменить: добавление снимка экрана: