Мобильные приложения

Как переопределить цвета в компонентах?

Компоненты 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

Библиотеки