Применяйте темы к собственным экранам библиотеки в iOS и Android - PullRequest
0 голосов
/ 29 января 2020

Я занимаюсь разработкой коллекции библиотек для нескольких мобильных приложений в моей компании. В моих библиотеках есть экраны, которые можно «переименовать», если они интегрированы в дочерние или клиентские приложения.

Пример: на моем функциональном экране кнопки и метки в моей компании будут зелеными приложения, синие, если интегрированы в приложение Facebook, красные в приложении Coca Cola ...

У меня есть тема с около 20 атрибутами цвета (основной, основной) -contrast, selected, background ...), который я хотел бы применить ко всем экранам моих модулей / каркасов, просто установив его во время компиляции приложения или во время выполнения.

Как я могу сделать это?

Я полагаю, что в обеих технологиях я могу предоставить собственный подкласс каждого компонента (представление, кнопка, текстовое представление и т. д. c), чтобы его цвета менялись во время выполнения с помощью пользовательской логики c, но это было бы очень тяжело ...

Есть ли чистый способ определения цветов в качестве переменных в Интерфейсном Разработчике и Редакторе Макета, чтобы я мог позволить вызывающему приложению изменить он "основной", "выбранный" и т. д. c темы, и это заставит модуль соответствующим образом изменить свой пользовательский интерфейс?

На данный момент я сфокусировался на iOS, думаю, это будет легче в Android, поскольку все определяется в объединенном с приложением "R" во время выполнения.

...