Comments 3
Веселее обойти все пиксели битмапы и найти цвета, а потом используйте как захотите =)
Придётся создавать алгоритм, который анализирует цвета / выбирает те, которые сочитаются лучше всего. А чтобы за его реализацию было не стыдно - разработчик должен определять определенными знаниями о дизайне и о том, как правильно выбирать цвета, чтобы они смотрелись гармонично.
В нашем случае такой алгоритм уже придумали за меня. Я могу предположить что люди, создававшие Material You разбираются в дизайне. Поэтому хороший вариант - довериться готовому решению
Мне кажется, в байнде всё-таки не стоит вызывать DynamicColors.wrapContextIfAvailable(), потому что она тяжёлая, и будет вызываться каждый раз, когда система байндит этот элемент списка.
Может, лучше, сгенерить цвета заранее? Или через lazy {} сохранить цвет. Да хотя бы кэш сделать.
Но идея хорошая!
Content Based Theme в Android приложении