Как сделать динамически генерируемое уведомление в строке состояния Android контрастнымAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как сделать динамически генерируемое уведомление в строке состояния Android контрастным

Сообщение Anonymous »

Пожалуйста, дайте совет по коду, чтобы значок уведомления приложения Android в строке состояния отличался от других значков.
Проблему см. на изображении. Число 3,8 — это динамически генерируемое значение, отображаемое на значке уведомления приложения. Значок не меняет свой цвет автоматически, чтобы он контрастировал с фоном.
Изображение

Приложение динамически генерирует значок в виде растрового изображения

Код: Выделить всё

        int TEXT_COLOR = Color.WHITE;
Bitmap iconBitmap = BitmapUtils.textToBitmap(Text, TEXT_COLOR);
Icon icon = Icon.createWithBitmap(iconBitmap);

return new Notification.Builder(this, CHANNEL_ID)
.setCustomContentView(notificationLayout)
.setSmallIcon(icon)
.setContentIntent(pendingIntent)
.setPriority(Notification.PRIORITY_LOW)
.build();

Растровое изображение создается с помощью следующего кода:

Код: Выделить всё

public class BitmapUtils {

public static Bitmap textToBitmap(String text, int textColor) {
Paint paint = new Paint();
paint.setTextSize(100);
paint.setColor(textColor);
paint.setAntiAlias(true);
paint.setTextAlign(Paint.Align.LEFT);
paint.setTypeface(Typeface.DEFAULT_BOLD);

int width = 190;
int height = 190;
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);

float x = (width - paint.measureText(text)) / 2;
Paint.FontMetrics metrics = paint.getFontMetrics();
float y = (height - metrics.ascent - metrics.descent) / 2;

canvas.drawText(text, x, y, paint);

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

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-in-contr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»