我在Lollipop中的自定义通知背景颜色有问题。 它是黑色的应该是白色的。 textColor没问题:
我正在使用
<resources>
<style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
<style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
</resources>
知道如何使用设备默认主题颜色进行自定义通知吗?
答案 0 :(得分:7)
您应用的targetSdkVersion必须为21 正如艾哈迈德的回答一样,在values-21文件夹中添加另一个样式文件。
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="NotificationText" parent="android:TextAppearance.Material.Notification" />
<style name="NotificationTitle" parent="android:TextAppearance.Material.Notification.Title" />
<style name="NotificationTime" parent="android:TextAppearance.Material.Notification.Time" />
</resources>
答案 1 :(得分:5)
无论出于何种原因,Lollipop都有新款式。把它放在values-v21 / styles.xml:
中<resources>
<style name="NotificationTitle" parent="android:TextAppearance.Material.Notification.Title"></style>
<style name="NotificationText" parent="android:TextAppearance.Material.Notification"></style>
</resources>
答案 2 :(得分:0)
创建文件夹值-v21 / styles.xml并通过以下代码
<style name="NotificationTitle" parent="@android:style/TextAppearance.StatusBar.EventContent.Title">
<item name="android:textColor">@android:color/black</item>
<item name="android:textStyle">normal</item></style>
答案 3 :(得分:0)
要解决此问题,您有两个选择:
1)目标SDK 21,自定义通知将自动使用白色背景
2)将现有布局复制到layout-v21文件夹并添加android:background =&#34; #FFFFFFF&#34;它的根源,像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#FFFFFFFF" >
...
</LinearLayout>
非常适合我。
答案 4 :(得分:-1)
我不确定背景的主题是什么,但我只是将自定义布局(小视图和大视图)的背景设置为xml中的深色。然后,这会更紧密地匹配前Lollipop通知。
我觉得奇怪的是,当标准通知颜色为白色时,android:TextAppearance.StatusBar.EventContent.Title的外观不会调整为Lollipop的深色!