“@android:style / TextAppearance.StatusBar.EventContent.Title”在android L中将颜色设置为白色而不是灰色

时间:2014-11-11 03:07:07

标签: android android-notifications android-5.0-lollipop

Android L使用白色背景作为通知,使用灰色作为文本。但是,"@android:style/TextAppearance.StatusBar.EventContent.Title"仍将TextView的颜色设置为与KitKat或之前版本相同的白色。它应该返回Android L的新通知样式中使用的灰色 我该如何解决?提前谢谢。

3 个答案:

答案 0 :(得分:7)

看来android-L并没有覆盖"@android:style/TextAppearance.StatusBar.EventContent.Title",而是引入新风格

<style name="TextAppearance.Material.Notification.Title">
    <item name="textColor">@color/primary_text_default_material_light</item>
    <item name="textSize">@dimen/notification_title_text_size</item>
</style>

答案 1 :(得分:1)

我们可以使用基于API的值文件夹来以正确的方式处理它。

/values/styles.xml

<style
    name="NotificationTitle"
    parent="@style/TextAppearance.StatusBar.EventContent.Title" />

/values-21/styles.xml

<style
    name="NotificationTitle"
    parent="@android:style/TextAppearance.Material.Notification.Title" />

现在请在TextView

中调用以下行
android:textAppearance="@style/NotificationTitle"

答案 2 :(得分:0)

这是解决我错误的方法。在您的styles.xml中,添加以下内容:

    <style name="TextAppearance">
    </style>
    <style name="TextAppearance.StatusBar">
    </style>
    <style name="TextAppearance.StatusBar.EventContent">
        <item name="android:textColor">#ff6b6b6b</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Info">
        <item name="android:textColor">#ff6b6b6b</item>
    </style>