What I'm trying should be quite easy with themes, but I can't find out how to:
I want all text to be white by default in my app.
I created a custom theme in theme.xml:
<style name="Theme" parent="@android:Theme">
</style>
<style name="TextAppearance.Theme" parent="@android:TextAppearance.Theme">
<item name="android:textColor">#ffffffff</item>
</style>
and set it for the whole application:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/Theme">
But labels are still black.
What's missing?
PS: How can I additionally define styles for different text sizes, to be applied per widget?
Is something like that correct?
<style name="Theme.smallText">
<item name="android:textSize">12dp</item>
</style>
update
I took a look at themes.xml in Android SDK, it shows how to set the text style for a theme:
<item name="textAppearance">@android:style/TextAppearance</item>
In my case it should work with this definition:
<style name="Theme" parent="@android:Theme">
<item name="android:textAppearance">@style/MyText</item>
</style>
<style name="MyText" parent="@android:style/TextAppearance">
<item name="android:textColor">#ffffffff</item>
</style>
However, it is still not working.
Here's another post about this same issue.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…