StyleDefinition
Неизменяемое именованное правило с селекторами, renderer-ом, свойствами и анимациями событий.
Обзор
StyleDefinition — одно переиспользуемое правило внутри StylePack. У него есть стабильный id, селектор, декларативные свойства или зарегистрированный renderer, а также необязательные связи событий с анимациями. Методы-модификаторы возвращают новые определения — сохраните результат или снова поместите его в pack.
Селекторы
target ограничивает правило типом стиля виджета, styleClass сопоставляет классы из addStyleClass, а widgetId — явный styleId виджета. Условия можно комбинировать. Селектор widgetId не сопоставляет обычный widget id.
Правило для основной кнопки
StyleDefinition primary = StyleDefinition.of(
"button.primary",
new MutableStyle().put(StyleKeys.BACKGROUND_COLOR, accent))
.target(Button.STYLE_TYPE)
.styleClass("primary");
API
Создание
| Метод | Описание |
|---|---|
of(String, Style) |
Создаёт декларативное правило стиля. |
custom(String, String, Style) |
Создаёт правило на основе зарегистрированного пользовательского renderer-а. |
StyleDefinition::of(String, Style)
of(String, Style)
Создаёт декларативное правило стиля.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Стабильный непустой id внутри style pack. |
style |
Style |
Типизированные свойства стиля; null превращается в Style.EMPTY. |
Возвращает StyleDefinition: Новое неизменяемое определение стиля.
Исключения:
IllegalArgumentException: Id определения равен null или пуст.
StyleDefinition::custom(String, String, Style)
custom(String, String, Style)
Создаёт правило на основе зарегистрированного пользовательского renderer-а.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Стабильный непустой id внутри style pack. |
rendererId |
String |
Стабильный id renderer-а из WidgetRenderRegistry. |
style |
Style |
Типизированные свойства стиля; null превращается в Style.EMPTY. |
Возвращает StyleDefinition: Новое неизменяемое определение стиля.
Исключения:
IllegalArgumentException: Id определения равен null или пуст.
Селекторы
| Метод | Описание |
|---|---|
target(String) |
Ограничивает правило типом стиля виджета. |
styleClass(String) |
Ограничивает правило style-классом виджета. |
widgetId(String) |
Ограничивает правило явным style id виджета. |
StyleDefinition::target(String)
target(String)
Ограничивает правило типом стиля виджета.
| Параметр | Тип | Описание |
|---|---|---|
target |
String |
Тип стиля виджета, обычно константа STYLE_TYPE. |
Возвращает StyleDefinition: Новое неизменяемое определение с запрошенным изменением.
StyleDefinition::styleClass(String)
styleClass(String)
Ограничивает правило style-классом виджета.
| Параметр | Тип | Описание |
|---|---|---|
styleClass |
String |
Класс из addStyleClass или XML-атрибута class. |
Возвращает StyleDefinition: Новое неизменяемое определение с запрошенным изменением.
StyleDefinition::widgetId(String)
widgetId(String)
Ограничивает правило явным style id виджета.
| Параметр | Тип | Описание |
|---|---|---|
widgetId |
String |
Значение из styleId или XML-атрибута style. |
Возвращает StyleDefinition: Новое неизменяемое определение с запрошенным изменением.
Анимации событий
| Метод | Описание |
|---|---|
eventAnimation(String, String) |
Добавляет, заменяет или удаляет связь события с анимацией. |
StyleDefinition::eventAnimation(String, String)
eventAnimation(String, String)
Добавляет, заменяет или удаляет связь события с анимацией.
| Параметр | Тип | Описание |
|---|---|---|
eventName |
String |
Стабильный id события, желательно из StyleAnimationIds.Event. |
animationId |
String |
Id preset-а анимации; пустое значение удаляет связь. |
Возвращает StyleDefinition: Новое неизменяемое определение с запрошенным изменением.