Как переопределить цвета в компонентах?
Компоненты Android
Native
1) Переопределить цвет глобально
В ресурсах исходного кода вашего проекта необходимо вставить специальный флаг и переопределить цвет на нужный:
<color name="control_primary_active" tools:override="true">#000000</color>
2) Переопределить цвет в компоненте на свой
Это переопределение зависит от реализации компонента. В большинстве случаев да. Пример:
<color name="mts_tab_blur_overlay" tools:override="true">#000000</color>
Компоненты iOS
1) Переопределить цвет глобально
Код необходимо добавить в исходных код приложения, который отвечает за обработку событий загрузки приложения и подписан на готовность начать отрисовку экранов. В этот момент обычно проводится подписка на пуши, регистрация шрифтов и похожие операции.
Доступ к переменной MTSColor есть, просто переопределите цвет:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
/// Переопределяем значение цвета textPrimary
MTSColor.textPrimary = .green
return true
}
2) Переопределить цвет в компоненте на свой
Это переопределение зависит от реализации компонента. Некоторые внутренние view закрыты для изменения.
Пример:
let button = MTSButton(style: .primary, size: .s)
/// Переопределяем цвет фона кнопки в состоянии enabled
button.parameters.backgroundColor.enabled = .green