How to get the default notification background color for custom notification in Lollipop?

前端 未结 5 1408

I\'m having an issue with the color of my custom notification background in Lollipop. It\'s black where it should be white. The textColor is OK:

I\'m using



        
相关标签:
5条回答
  • 2021-02-07 06:23

    For whatever reason, there are new styles in Lollipop. Put this in 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>
    
    0 讨论(0)
  • 2021-02-07 06:24

    I'm not sure what the theme of the background is but I just set the background of my custom layouts (small view and large view) to a dark colour in the xml. This then matches the pre-Lollipop notifications more closely.

    I find it bizarre that the appearance of android:TextAppearance.StatusBar.EventContent.Title doesn't adjust to a dark colour for Lollipop when the standard notification colour is white!

    0 讨论(0)
  • 2021-02-07 06:33

    To solve this, you have 2 options:

    1) Target SDK 21, and custom notification will automatically use a white background

    2) Copy your existing layout to layout-v21 folder and add android:background="#FFFFFFFF" to its root, like this:

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

    Works great for me.

    0 讨论(0)
  • 2021-02-07 06:34

    Your app's targetSdkVersion must be 21.
    As Ahmed's answere, add another styles file in values-21 folder.

    <?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 讨论(0)
  • 2021-02-07 06:42

    Create folder values-v21/styles.xml and past the below code,

     <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 讨论(0)
提交回复
热议问题