Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 5.88 KB

createtheme.md

File metadata and controls

42 lines (35 loc) · 5.88 KB

Как создать тему для приложения

Подготовительные знания

  1. В приложении есть две базовые темы которые всегда неявно существуют это Светлая и Темная
  2. Все прочие темы основаны на одной из двух базовых тем (зачем это нужно ниже)
  3. Любая тема отличная от базовых просто перекрывает поля из базовой темы
  4. Тема не обязана перекрывать абсолютно все поля базовой темы
  5. Тема может быть локальной или загруженной (различие между ними ниже)
  6. Вы можете создать новую тему прямо в приложении на странице Менеджер Тем далее нажмите кнопку меню в правом верхнем углу и выберите пункт Редактор темы

Зачем нужны базовые темы и зачем их нужно перекрывать?

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

Различие между локальной и загруженной темами?

Локальные темы могут быть созданы локально в приложении самим пользователем или скопированы на другие машины просто путем копирования файлов и импорта в приложение.
Загруженные темы скачиваются со специального хранилища в сети куда пользователи могут их загружать централизованно с указанием авторства, версий и т.п. Как именно добавить в централизованное хранилище читайте тут.

Как создаются темы в приложении?

Перейдите на страницу Менеджер Тем далее нажмите кнопку меню в правом верхнем углу и выберите пункт Редактор темы.

Указание имени и базовой темы

Первое что надо сделать это указать имя новой темы и базовую тему для нее. Делается это в полях Имя темы и Базовая тема

Перекрытие полей темы

Далее Вы выбираете какое из полей перекрыть, все поля представлены в виде списка с заголовком и кратким описанием. Чтобы перекрыть поле необходимо нажать на иконку с плюсом. Справа от заголовка появиться текстовое поле в которое Вы можете добавить значение вручную либо воспользоваться помощником, это иконка справа от иконки с плюсом. Например для поля для указания цвета по нажатию на нее откроется диалог для выбора цвета из палитры с предпросмотром.

Типы поддерживаемых полей и форматы

  • Поля для ввода цвета, поддерживает hex форматы #RRGGBB (без прозрачности) #AARRGGBB (с прозрачностью) а также именованные цвета вроде red таблица здесь
  • Поля иконок, поддерживаются изображения форматов svg, png, jpg, gif. Но я крайне не рекомендую использовать что-то кроме svg. Максимальный размер файла 40 Кб.
  • Поля размеров (в разработке)
  • Поля позиций (в разработке)
  • Поля видимости (в разработке)

Как проверить тему

Закончив редактирование можно проверить тему в специальном окне, для его открытия нажмите на кнопку Предпросмотр темы.

Как сохранить тему

Для этого нажмите на кнопку Сохранить в верхней части окна. Откроется меню с различными вариантами куда можно сохранить и/или сразу установить тему как новую или заменить существующую.