2014-11-16 80 views
18

我在使用棒棒糖中的自定义通知背景颜色时出现问题。 这是黑色,它应该是白色的。 的文字颜色是OK:如何获取Lollipop中自定义通知的默认通知背景颜色?

我使用

<resources> 
    <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" /> 
    <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" /> 
</resources> 

不知道如何使用自定义通知设备的默认主题颜色?

+0

任何解决方案? – madlymad

回答

-1

我不确定背景的主题是什么,但我只是将自定义布局(小视图和大视图)的背景设​​置为xml中的深色。然后这会更接近地匹配前棒棒糖通知。

我发现它奇怪的是,当标准通知颜色是白色时,android:TextAppearance.StatusBar.EventContent.Title的外观不会适应棒棒糖的深色!

+2

我不想设置随机颜色。我想让颜色与当前主题相匹配。它们的颜色在前棒棒糖中不一定是黑的。它可能因制造商而异。然后在香草棒棒糖上默认为白色。所以我正在寻找一种方法来检索这个'官方颜色' – user1026605

5

无论出于何种原因,棒棒糖都有新风格。把这个值-V21/styles.xml:

<resources> 
    <style name="NotificationTitle" parent="android:TextAppearance.Material.Notification.Title"></style> 
    <style name="NotificationText" parent="android:TextAppearance.Material.Notification"></style> 
</resources> 
+0

这似乎不适用于我。我的通知背景为浅灰色,默认为白色。 – velis

7

您应用的targetSdkVersion必须是21
作为艾哈迈德的answere,添加另一个样式值-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>  
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> 
0

为了解决这个问题,你有两个选择:

1)目标SDK 21,和自定义通知将自动使用白色背景

2)将您现有的布局复制到layout-v21文件夹,并将android:background =“#FFFFFFFF”添加到其根目录中,如下所示:

<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> 

对我很好用。

+0

这对我不起作用,因为如果你使用锁定,小部件的颜色会有所不同,所以它看起来不太好,如果所有的都是灰色的而且这个是白色的。 – Michal