KitKat颜色问题

时间:2016-05-12 16:33:15

标签: android android-4.4-kitkat android-styles

我有一个使用黑色背景的应用。我一直在Lollipop上开发和测试它,但minSDK是19.当我使用KitKat设备(或模拟器)时,我遇到了我在Lollipop设备上看到的白色文本的问题 - 它是黑色的,因此是不可见的。

我定义了这样的文字颜色:

<TextView
    android:id="@+id/list_header_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="6dp"
    android:text="27.02.2016"
    android:textColor="@color/text_primary"
    android:textSize="16dp"/>

然后,在(所有)我的styles.xml中,我定义了以下主题:

 <style name="AppTheme.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/text_primary</item>
    <item name="android:background">@color/colorPrimary</item>
   </style>

在colors.xml中,text_primary的定义如下:

<color name="text_primary">#FFFFFF</color>

再一次,在棒棒糖上,我可以看到纯白色的文字,但在KitKat上,它看起来是黑色的。我哪里做错了?在我看来,由于TextView textcolor明确定义为text_primary,因此它应该适用于所有SDK版本?!

1 个答案:

答案 0 :(得分:0)

感谢@ zgc7009,这很快得到了解决:

正如他所建议的那样,Lollipop设计模式的重大改革需要某种AppCompat。基于此并稍微运气一下,../values-v19/styles.xml文件的以下内容使得文本在KitKat中再次显示为白色:

 <style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/text_primary</item>
</style>

注意我是如何在自定义样式中添加 AppCompat父的。 说实话,我不确定为什么它会影响TextView的颜色,如果有人知道可以自由编辑或评论。希望这对未来的几个人有所帮助。