Nexus 5中我的通知栏中的白色图标

时间:2015-03-02 05:26:53

标签: android

令我惊讶的是我的APP的图标在我的Nexus 5的通知栏中出现了白色图标。这只在Nexus 5中出现。

enter image description here

关于这个问题我已经有了一个问题,答案显示我需要:目标20.我已经尝试过了:就像下面没有区别一样。

defaultConfig 
{
    applicationId "com.cn.redquest"
    minSdkVersion 20
    targetSdkVersion 20
    versionCode 10
    versionName "1.00"
} 

有人可以帮我解决这个问题吗?

让我知道!

谢谢!

1 个答案:

答案 0 :(得分:1)

将目标SDK设置为20意味着您没有为Android Lollipop构建应用程序。这将使您的通知图标显示所有颜色,但不是长期解决方案,因为您需要为Lollipop构建(至少最终)。

http://developer.android.com/design/style/iconography.html,您可以了解白色样式是如何在Lollipop(SDK 21)中显示通知。 Google还建议使用自定义bg颜色 - 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();

并且,在getNotificationIcon方法中:

private int getNotificationIcon() {
    boolean useSilhouette = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP);
    return useSilhouette ? R.drawable.ic_silhouette : R.drawable.ic_launcher;
}