Ds
1 августа 2020 г. 18:26

Динамическое изменение цветовой схемы material

После упорного гуглежа не нашёл ответа на вопрос, как изменить всю цветовую палитру по нажатию кнопки, изначально в приложении я имел в синглтоне 3 property с цветом бэкграунда, активной кнопки, и основным цветом, и при нажатии на странице настроек на определённую тему я менял три property и менялась вся цветовая схема приложения. Но после перехода на material поставил в conf файл primary, accent и тд. цвета, и вот не особо понимаю есть ли возможность так же динамически их менять, потому как Material.primary например это read-only, и изменить его вне conf файла невозомжно. Если найду ответ на свой вопрос, напишу его ниже, вероятно кому то ещё пригодится.

4

Вам это нравится? Поделитесь в социальных сетях!

4
М
  • 3 августа 2020 г. 2:35

Пока не приходилось решать этот вопрос, но прикидывал что однажды придёт такой момент. Не знаю что такое переход на material но подпишусь на всякий случай.

    Алексей Внуков
    • 3 августа 2020 г. 21:05

    все примеры, которые я встречал по этому поводу, просят после изменения цветовой схемы сделать рестарт приложения. нужно копать в сторону обновления интерфейса, которое по своим свойствам будет схоже с рестартом приложения.

      Ds
      • 3 августа 2020 г. 21:34

      хм, я gallery пример видел, там тож просят рестарт, но меняют между material, imagine, fusion и тд, а я думаю дефолтные цвета поменять, просто интересно было узнать есть ли возможность, получается что вряд-ли, тогда верну просто через проперти бинд цветов для всех элементов и менять так, по сути одно и то же, но цвета будут прописаны в синглтоне и кодом цвета.

        Алексей Внуков
        • 4 августа 2020 г. 12:14

        как по мне, темы типа material хороши если вас полностью устраивает их стил, если пишете кастомный дизайн то имеет смысл отказаться

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь