【发布时间】:2017-06-09 19:35:48
【问题描述】:
在我的 Android 应用中,我有两个不同的主题(浅色和深色)。 例如:
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="colorPrimary">@android:color/black</item>
<item name="colorPrimaryDark">@android:color/black</item>
<item name="colorAccent">@android:color/holo_red_dark</item>
<item name="android:textColor">@android:color/white</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>
所以,现在我可以将不同的文本颜色应用到 TextView(黑色主题为白色,浅色主题为黑色):
<item name="android:textViewStyle">@style/TextViewDark</item>
<style name="TextViewDark">
<item name="android:textColor">?android:attr/colorAccent</item>
</style>
但它适用于所有 TextView。
主要问题,是否可以在 XML(不是以编程方式)下制作:
浅色主题:一半的 TextViews 文本颜色为黑色,另一半为绿色。 黑色主题:在 Light 主题中黑色的 TextView - 红色,另一半 - 蓝色(在 Light 主题中为绿色)。
【问题讨论】:
标签: android android-theme android-styles