Подтвердить что ты не робот

Большой фон значка уведомлений

Так как большие значки Android 5.0 в уведомлениях имеют цветной фон:

lollipop-notification

Для небольшого значка это цвет акцента уведомления (Notification.Builder.setColor(int)). Как установить его для большого значка? Является ли это частью фактического изображения? Если это так, каков должен быть радиус круга?

4b9b3361

Ответ 1

Да, цвет большого значка является частью фактического изображения. Размеры большого значка на леденец 40x40dp с оптическим видом, заполняющим все изображение. Таким образом, вы должны создать актив 40x40dp с кругом радиуса 20dp. Вы можете установить большой значок уведомления следующим образом:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
    .setSmallIcon(R.drawable.notification_small_icon)
    .setLargeIcon(notificationLargeIconBitmap)
    .setContentTitle("Notification")
    .setContentText("Content text")
    .setColor(context.getResources().getColor(R.color.accent_color));

Если вам нужен большой значок из ресурса, вы можете получить экземпляр Bitmap, например:

Bitmap notificationLargeIconBitmap = BitmapFactory.decodeResource(
    context.getResources(), 
    R.drawable.notification_large_icon);

Если вы хотите, чтобы ваше уведомление было хорошо отображено в предыдущих версиях Android (kitkat и ниже), вы должны иметь квадратную версию вашего большого значка с размером 64x64dp.

Ответ 2

Значок большого размера всегда должен иметь фон (например, аватар). Он также использовался на изнашиваемых устройствах в качестве фона для уведомления. Он отображается на разных цветах фона, поэтому он должен быть непрозрачным.