#android #themes
#Android #темы
Вопрос:
В настоящее время я создаю приложение (Android 1.6), которое может переключаться между двумя разными темами. Я создал пользовательскую тему, которая использует тему Android light в качестве родительской! Проблема в том, что когда я переключаюсь на белую тему, мой текст не отображается, но если я что-то выбираю, я могу видеть текст. Кроме того, когда я переключаю темы, мои TitleText, previous и next такие же, как в моей темной теме.
Вот код, который я использую для темы:
<style name="Theme.White" parent="android:Theme.Light">
<item name="android:colorBackground">@color/text_color_dark</item>
<item name="android:textColor">@color/text_color_dark</item>
<item name="textPrev">@style/text_prev</item>
<item name="textRegular">@style/text_regular</item>
<item name="textTitle">@style/text_title</item>
<item name="textNext">@style/text_next</item>
<item name="pageBack">@style/page_back</item>
<item name="whiteBack">@style/white_back</item>
<item name="android:textColorPrimaryInverse">@android:color/primary_text_light</item>
</style>
</resources>
Это мой стиль:
<style name="text_prev">
<item name="android:textColor">@color/text_color</item>
</style>
<style name="text_next">
<item name="android:textColor">@color/default_text_color_2</item>
</style>
<style name="text_regular">
<item name="android:textColor">@color/text_color_dark</item>
</style>
<style name="text_title">
<item name="android:textColor">@color/text_color_dark</item>
</style>
<style name="page_back">
<item name="android:background">@drawable/white_background</item>
</style>
<style name="white_back">
<item name="android:background">@drawable/white_container</item>
<item name="android:padding">10sp</item>
</style>
Я использую еще два ресурса, которые находятся в моей папке res / drawable. В стандартной теме все работает нормально, но как только я переключаюсь на светлую тему, мой текст исчезает.
Есть ли что-то, что я делаю неправильно?
Комментарии:
1. хорошо, я сделал кое-что, что работает ТОЛЬКО частично. в моем main.xml вместо написания android:textColor/@color / … я пишу style=»?normalText» и объявляю стиль normalText_default и normalText_white в stlyes. затем я добавляю элемент темы normalText в обе темы. Это работает только в моей белой теме, которая теперь устанавливает черный текстовый цвет, но моя тема по умолчанию ничего не делает со значением, которое я присвоил тексту. она просто придает всему сероватый / небелый цвет!!
Ответ №1:
Из приведенного выше фрагмента кода вы устанавливаете для фона и текста один и тот же цвет, т. Е. «color / text_color_dark», они должны отличаться.
<item name="android:colorBackground">@color/text_color_dark</item>
<item name="android:textColor">@color/text_color_dark</item>