ресайклера пересоздаются, а так как иконки преференсов персистятся, то они сохраняют цвет с прошлой темы
полумерно решение:
в onViewCreated() пройтись по айтемам и дать нужный тинт иконкам
недостаток:
не совместимо с цветными иконками, у которых цвет может зависеть от темы, и это можно предусмотреть, но уже будет оч костыльно
вопрос:
как дропнуть эти иконки малой кровью? зануление иконки приводит к занулению id ресурса (второй скрин), который приватный
Иконки векторные? Цвета у них через цветовые атрибуты задаются? 🤔
Хм... Я как-то делал демку day/night, там монохромные иконки в тулбаре автоматом меняли цвет через android:tint="?attr/colorControlNormal" 🤷
преференсы не умеют, описал почему
На иконках вызвать mutate()
С иконками (и всей графикой) прикол такой: Android кэшурует всю графику которую достал, и когда идёт повторный запрос по id - достает из кэша. И mutate() сбрасывает состояние у View, до текущего (с вызовом всех методов ЖЦ)
Обсуждают сегодня