серый значок в заголовке уведомления - PullRequest
0 голосов
/ 17 января 2020

Я создаю простое уведомление:

Notification.Builder builder = new Notification.Builder(this);
builder
    .setContentTitle("title")
    .setContentText("this is small text")
    .setSmallIcon(R.drawable.my_small_icon)
    .setTicker("test Ticker")
    .setStyle(new Notification.BigTextStyle().bigText("big mess"));
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {

    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    Bitmap image = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon);
    builder.setLargeIcon(image);
    RemoteViews contentView = builder.createContentView();
    RemoteViews bigContentView = builder.createBigContentView();

    // custom contentView and bigContentView

    builder.setCustomContentView(contentView);
    builder.setCustomBigContentView(bigContentView);
    Notification n = builder.build();
    builder.build();

    notificationManager.notify(1, n);
}

my_small_icon - это изображение белого цвета в прозрачном, у меня другая проблема этот вопрос

Показывает мой маленький значок в строке состояния аналогичен моему lo go, но показывает серый квадрат enter image description here

Эта проблема, возникающая в Redmi 4A 7.1, LG K530F и Galaxy J7 отображаются нормально.

Можете ли вы дать мне совет, как это исправить?

Я использую Android Asset Studio , но это не может помочь.

Ответы [ 2 ]

0 голосов
/ 17 января 2020

вы можете go папка res вашего проекта

res => папка для рисования => щелкните правой кнопкой мыши в папке для рисования => открыть всплывающее окно => новый => выбрать ресурсы изображения => открыть студию сборок => выбрать icon type => значок уведомления => и создайте и установите этот значок как уведомление

0 голосов
/ 17 января 2020

Прежде всего вам необходимо убедиться, что изображение, которое вы используете для уведомлений, имеет прозрачный фон или нет.

Во-вторых, вам нужно будет поддерживать размер для каждой плотности

MDPI - 24 x 24  (drawable-mdpi)
HDPI - 36 x 36  (drawable-hdpi)
XHDPI - 48 x 48  (drawable-xhdpi)
XXHDPI - 72 x 72  (drawable-xxhdpi)
XXXHDPI - 96 x 96  (drawable-xxxhdpi)                             

Перейдите по ссылке здесь. В соответствии с документацией Android - «Обновите или удалите ресурсы, связанные с цветом. Система игнорирует все не альфа-каналы в значках действий и в значке основного уведомления. Вы должны предположить, что эти значки будут только в альфа-формате. Система dr aws значков уведомлений белого цвета и значков действий темно-серого цвета ». Теперь это легко пропустить, и я видел много приложений, которые есть в магазине приложений, с тысячами пользователей, которые не следовали упомянутым рекомендациям. Итак, позвольте мне подробно объяснить, как вы можете преобразовать свой значок уведомления в Android дружественный с помощью нескольких кликов. В вашем любимом графическом редакторе откройте файл значков. Преобразуйте все части изображения, которые вы не хотите показывать, в прозрачные пиксели. Все цвета и непрозрачные пиксели отображаются белым цветом.

...