Android - Темный режим для пользовательских уведомлений
У меня есть уведомление с настраиваемым XML-макетом, поэтому я не могу использовать стили по умолчанию, такие как MessagingStyle или MediaStyle.
Проблема в том, что уведомление остается белым, даже если включен темный режим, что довольно раздражает.
Я проверил исходный код MessagingStyle и MediaStyle, кажется, что Dark Mode BackgroundColor устанавливается самой панелью состояния, при использовании этих стилей их нельзя извлечь из самого объекта уведомления (даже с отражениями)
Можно ли как-нибудь получить цвет фона?
Я думаю, что жестко кодировать цвет было бы не очень хорошо, на разных смартфонах он может отличаться...
Изменить: даже настройки правильных цветов не помогают... Уведомления светлые на экране блокировки и темные на панели уведомлений...
1 ответ
Похоже проблема Samsung:
на Stock Android уведомления белые, даже если используется темный режим, так что здесь делать нечего.
На устройствах Samsung уведомления также темные, но все еще белые на экране блокировки, поэтому, если вы установите цвет фона, он будет "неправильным" либо на экране блокировки, либо на панели уведомлений (вы всегда можете показать / отменить другое уведомление в заблокированном / разблокированном состоянии. состояние, что не очень хорошее решение)
В любом случае, есть способ получить правильный цвет фона для устройств Samsung: на /questions/6268073/polzovatelskie-maketyi-uvedomlenij-i-tsveta-teksta/6268076#6268076 объясняется, как получить цвет текста по умолчанию. Samsung инвертирует фон, так что фон в темном режиме является цветом текста в светлом режиме.