Appcelerator меняет цветовую тему приложения во время выполнения - PullRequest
0 голосов
/ 06 июля 2018

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

То, что я до сих пор делал, - это создание моей цветовой "темы" как объекта в alloy.js, например:

Alloy.Globals.Theme = {
    WindowBackground: "#fafafa",
    FontColor: "#383838",
    ListItemSelectedColor: "#4ccedc",
    .
    .
    .
};

И где я использую цвета в своем TSS, укажите на этот объект (который я буду заполнять правильными цветами во время выполнения).

У меня такое чувство, что это не лучшая практика.

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

Какая лучшая практика для достижения этой цели? Я думал о модели темы, но на самом деле не знал, как это сделать.

...