Android通知大图标覆盖着空白的小图标

时间:2015-07-09 04:51:17

标签: android android-notifications android-notification-bar android-icons

顶部通知栏上的小图标完美运行。大图标也会出现。但是,大图标的右下角覆盖着小图标,显示为白色。任何人有任何想法?谢谢。

![private void showNotification(Context context, Intent intent) {
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(context, MainActivity.class), 0);

    String title = intent.getExtras().getString("nTitle");
    String message = intent.getExtras().getString("nMessage");

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
            context);

    Notification notification = mBuilder.setContentIntent(contentIntent)
            .setSmallIcon(R.drawable.android)
            .setColor(2)
            .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.fuckya))
            .setWhen(0)
            .setAutoCancel(true)
            .setContentTitle(title)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .setContentText(message).build();

    mBuilder.setContentIntent(contentIntent);
    mBuilder.setDefaults(Notification.DEFAULT_SOUND);
    mBuilder.setAutoCancel(true);
    NotificationManager mNotificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(1, mBuilder.build());

}][1]

enter image description here

1 个答案:

答案 0 :(得分:1)

根据setColor() documentation

  

参数

     

argb - 使用的强调色

您传入2,这不是有效的ARGB颜色,因此您的小图标的背景颜色无法正确显示。而是选择有效的ARGB颜色。

如果您有想要使用的颜色资源,可以使用

等代码
.setColor(context.getResources().getColor(R.color.notification_color))

此外,请注意Android 5.0 changes州:

  

更新或删除涉及颜色的资产。系统会忽略操作图标和主通知图标中的所有非Alpha通道。您应该假设这些图标仅为alpha。系统以白色绘制通知图标,以深灰色绘制动作图标。

您的小图标应该是完全白色和透明的 - 您可以使用Notification Icon Generator等工具生成相应的图标。

相关问题