Search code examples
androidandroid-notificationsandroid-5.0-lollipop

Changing notification icon background on Lollipop


I was going through the Notifications design pattern, and didn't find anything that talks about notification icon background. As you probably noticed, there is only a light grey background for custom notifications. But apps like Hangouts, or simply the USB Debugging notification has a custom color for their notification icon background.

Is there any possibility to change that grey into something else? (that specific circle's color programmatically)

See picture


Solution

  • 1) Obtain Color

    int color = 0xff123456;
    int color = getResources().getColor(R.color.my_notif_color);
    int color = ContextCompat.getColor(context, R.color.my_notif_color);
    

    2) Set the Color to the Notification

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    ...
    builder.setColor(color);
    Notification notif = builder.build();
    

    The color is respected only on Lollipop and only affects background of the small icon. If a large icon is shown its contents are entirely your responsibility.

    Source: NotificationCompat.Builder#setColor(int)