Я хотел бы создать темы для своего приложения - и поэтому я хочу, чтобы пользователь мог перейти на страницу настроек приложения и выбрать другую цветовую схему.
То, что я до сих пор делал, - это создание моей цветовой "темы" как объекта в alloy.js
, например:
Alloy.Globals.Theme = {
WindowBackground: "#fafafa",
FontColor: "#383838",
ListItemSelectedColor: "#4ccedc",
.
.
.
};
И где я использую цвета в своем TSS, укажите на этот объект (который я буду заполнять правильными цветами во время выполнения).
У меня такое чувство, что это не лучшая практика.
И для того, чтобы на самом деле изменить темы, пользователю придется закрыть и снова открыть приложение. Я видел много приложений, в которых пользователь просто выбирает тему и экран (и все экраны, которые были до этого), немедленно изменяя цвета.
Какая лучшая практика для достижения этой цели? Я думал о модели темы, но на самом деле не знал, как это сделать.