当前位置: 首页 > 知识库问答 >
问题:

Android5Lollipop中的通知栏图标变白

曹振
2023-03-14

我有一个显示自定义通知的应用程序。问题是在Android5运行时,通知栏中的小图标显示为白色。我该怎么解决这个?

共有1个答案

皇甫智明
2023-03-14

被接受的答案不(完全)正确。当然,它使通知图标显示为彩色,但这样做有一个很大的缺点--通过将目标SDK设置为低于AndroidLollipop!

如果你像建议的那样通过将目标SDK设置为20来解决你的白色图标问题,那么你的app将不会针对AndroidLollipop,这意味着你无法使用Lollipop特定的功能。

查看一下http://developer.Android.com/design/style/iconography.html,您将看到在Android Lollipop中显示通知的方式是白色样式。

在Lollipop中,Google还建议您使用将显示在(白色)通知图标后面的颜色-https://developer.android.com/about/versions/android-5.0-changes.html

所以,我认为一个更好的解决方案是在应用程序中添加一个剪影图标,如果设备运行的是Android Lollipop就使用它。

例如:

Notification notification = new Notification.Builder(context)
            .setAutoCancel(true)
            .setContentTitle("My notification")
            .setContentText("Look, white in Lollipop, else color!")
            .setSmallIcon(getNotificationIcon())
            .build();

    return notification;
private int getNotificationIcon() {
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
    return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher;
}
 类似资料: