SmallIcon颜色自动转为白色为什么在通知Android?

时间:2016-07-22 05:41:08

标签: android

public void animatedNotification() {
    NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(context)
            .setSmallIcon(ic)
            .setLights(Color.GREEN, 10000, 10000)
            .setWhen(when)
            .setPriority(Notification.PRIORITY_HIGH)
            .setContentTitle(title)
            .setContentText("Plants Need Watering Some of Your work is pending");

    NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    // mId allows you to update the notification later on.
    mNotificationManager.notify(0, mBuilder.build());
}

2 个答案:

答案 0 :(得分:1)

由于您的应用notification使用的材质主题,小图标显示为白色。

答案 1 :(得分:1)

.setSmallIcon(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP ? R.mipmap.ic_launcher : R.drawable.notification_icon_bw_xhdpi)
.setColor(ResourcesCompat.getColor(getResources(), R.color.primary, getTheme()))

使用颜色区分您的应用与其他应用。通知图标应仅为白色透明背景图像。 (https://developer.android.com/design/patterns/notifications.html

在Android Lollipop之前,您可以对所有通知图标使用相同的mipmap图标。但是从Lollipop开始,您需要创建新的通知图标(Silhoette类图标)。