Перейти к содержанию

ThemeTokens

Неизменяемый снимок design-токенов палитры, форм, типографики и отступов.

Обзор

ThemeTokens объединяет переиспользуемые цвета, формы, типографику и отступы в один неизменяемый снимок. Настройте одну или несколько групп через вложенный builder, затем подключите снимок к MutableTheme или StylePack. Готовый снимок можно безопасно разделять между UI-деревьями.

Приоритет каскада

Токены являются активным слоем с самым низким приоритетом. Fallback pack-а, подходящие определения и локальные стили виджетов перекрывают их. ThemeTokens.EMPTY неактивен и ничего не добавляет, а defaults() создаёт активный нейтральный тёмный набор. asStyle() предоставляет только ключи, сопоставленные системой токенов.

Создание пользовательских токенов

ThemeTokens tokens = ThemeTokens.builder()
        .colors(colors -> colors.accent(accentColor))
        .shapes(shapes -> shapes.radiusMd(6.0f))
        .spacing(spacing -> spacing.controlGap(6.0f))
        .build();
StylePack pack = StylePack.create("app").tokens(tokens);

API

Создание

Метод Описание
builder() Создаёт builder активного неизменяемого снимка токенов.
defaults() Создаёт активный стандартный нейтральный тёмный набор токенов.

ThemeTokens::builder()

builder()

Создаёт builder активного неизменяемого снимка токенов.

Возвращает Builder: Builder токенов со стандартными группами цветов, форм, типографики и отступов.

ThemeTokens::defaults()

defaults()

Создаёт активный стандартный нейтральный тёмный набор токенов.

Возвращает ThemeTokens: Новый активный снимок стандартных токенов.

Интеграция со стилями

Метод Описание
asStyle() Предоставляет сопоставленные токены как неизменяемый слой стиля.

ThemeTokens::asStyle()

asStyle()

Предоставляет сопоставленные токены как неизменяемый слой стиля.

Возвращает Style: Style на основе токенов или Style.EMPTY для неактивного снимка EMPTY.