0

Маленькая иконка на верхней панели уведомлений работает отлично. Также появляется большой значок. Тем не менее, правый нижний угол большого значка накладывается маленьким значком, который выглядит как белый. У кого-нибудь есть идея? Спасибо.Значок Android большой значок с пустым маленьким значком

![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

согласно setColor() documentation "

Параметры

ARGB -The акцент цвета использовать

Вы проходящие в 2, который не является допустимым цветом ARGB, поэтому цвет фона вашего маленького значка отображается неправильно. Вместо этого выберите допустимый цвет ARGB.

Если у вас есть цветной ресурс, который вы хотите использовать, вы можете использовать код, такой как

.setColor(context.getResources().getColor(R.color.notification_color)) 

Кроме того, обратите внимание на состояние Android 5.0 changes:

Update или удалить активы, которые включают цвет. Система игнорирует все не-альфа-каналы в значках действий и в главном значке уведомления. Вы должны предположить, что эти значки будут только альфа-. Система рисует значки уведомлений в белом цвете и значки действий в темно-сером цвете.

Ваш маленький значок должен быть полностью белым и прозрачным - вы можете использовать такие инструменты, как Notification Icon Generator, чтобы создать соответствующий значок.

+0

Я изменил на .setColor (context.getResources(). GetColor (R.color.material_blue_grey_950)), но он все тот же –

+0

Можете ли вы включить ссылку на то, как выглядит ваш 'R.drawable.android'? – ianhanniballake

+0

Привет снова. Я нашел решение, я загрузил значок значка с сайта, специфичного для Android https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.space.trim=1&source.space.pad=0&name= ic_stat_example и проблема белого цвета решена. Как бы то ни было, предыдущие маленькие значки, которые я использовал, «несовместимы» с большим размером изображения с расширением bitmapfactory. Еще раз спасибо! –