Я работаю над очень грязным приложением и впервые со вкусами. Приложение имеет около 4,5 вариантов, все с одинаковыми цветами фона, рисунками и т. Д. Отличается только логотип.
Теперь мне нужно сделать новый аромат с совершенно другим макетом. Цвет фона должен быть желтым, а не серым, а рисуемые изображения должны быть черными, а не белыми. Проблема в том, что у меня около 100 разных белых изображений. Есть ли способ, которым я могу автоматически изменить их на черный? (дизайнер может перерисовать их или что-то еще, чтобы они были черными, и я могу поместить их в папку с возможностью рисования этого аромата) Или мне нужно было бы программно проверить, используется ли новый аромат, а затем вызвать setDrawable (newBlackImage) для каждого виджета, который использует белый цвет? Это кажется очень сложным способом, поскольку все чертежи задаются с помощью XML-макета.
То, как они использовали ароматы, заключалось в создании файла bool ресурса, а затем в коде проверяли, имеет ли какой-либо ключ значение true/false, а затем скрывали/показывали некоторые вещи... Итак, я предполагаю, что должен сделать что-то подобное с этим, или нет?
Вот как выглядит структура проекта для одного из моих вариантов:
Как видите, каждый вариант имеет разные значки запуска и экрана входа в систему. Также у каждого есть свои собственные массивы, логические и строковые файлы ресурсов. Но все они используют одни и те же ресурсы макета и чертежи с белыми значками.