Привет, на этот раз я собираюсь поговорить о новом стиле Toggle Switch в новой версии JMetro.
Тумблер — это элемент управления, который стал очень популярным в последние годы. Я добавил реализацию JavaFX некоторое время назад в библиотеку ControlsFX.
Этот новый стиль доступен в только что выпущенной версии JMetro 4.1.
Что такое тумблер
В предыдущих статьях я говорил об элементе управления Toggle Switch, о том, что это такое, и о реализации, которую я сделал и добавил в библиотеку ControlsFX.
Короче говоря, тумблер похож на флажок или тумблер с двумя состояниями (включено и выключено). Обычно оно не имеет неопределенного состояния, как может иметь флажок, и в некоторых вариантах его текст может изменяться при изменении его состояния, чтобы дополнительно проиллюстрировать состояние, в котором он находится.
Реализация ControlsFX по умолчанию имеет внешний вид, который соответствует теме JavaFX Modena по умолчанию. Тогда я также добавил стиль, вдохновленный Metro, в JMetro, который вы можете увидеть ниже:
Новый стиль тумблера
Были некоторые проблемы, с которыми я столкнулся при создании нового стиля JMetro. Сначала я столкнулся с некоторыми ошибками в реализации скина, которые я исправил в недавно добавленном MetroToggleSwitchSkin
.
Таблица стилей JMetro была изменена для ссылки на этот новый скин:
1
2
3
|
.toggle- switch { -fx-skin: "impl.jfxtras.styles.jmetro8.MetroToggleSwitchSkin" ; } |
Это деталь реализации, поэтому вам обычно не нужно заботиться об этом. impl
находится в пакете impl
, чтобы impl
, что это не публичный API. Если вы используете его в своем коде, имейте в виду, что в будущем все может измениться.
Другая проблема, с которой я столкнулся, заключается в том, что теперь я хотел, чтобы тумблер находился слева, а текст — справа. Что является противоположностью текущей реализации. Для этого я добавил новое свойство CSS: -toggle-display
. который похож на -fx-content-display
.
-toggle-display
имеет три возможных значения:
-
left
: переключатель отображается слева, а сопровождающий текст справа -
right
: переключатель отображается справа -
thumb-only
: отображается только переключатель без текста
Значение по умолчанию является right
, что отражает внешний вид в моей первой реализации Toggle Switch. Однако JMetro переопределяет это и устанавливает его left,
по умолчанию:
1
2
3
4
5
|
.toggle- switch { -thumb-move-animation-time: 100 ; -toggle-display: left; } |
Еще одна вещь, которая изменилась, и вы заметите в предыдущем фрагменте кода, продолжительность анимации переключения. То есть время, за которое точка переключения перемещается слева направо и наоборот, когда она выключена или включена. Это время изменилось с 200 мс до 100 мс, как указано в -thumb-move-animation-time
CSS -thumb-move-animation-time
.
Без лишних слов, вот новый темный и светлый стиль JMetro для Toggle Switch:
Завершение
Выпущена версия 4.1 темы JavaFX JMetro . Эта версия добавляет новый стиль Toggle Switch, вдохновленный Fluent Design . Визуальные эффекты полностью изменились, включая скорость анимации.
Также был добавлен новый скин, который добавляет новое -toggle-display
CSS -toggle-display
. Имейте в impl
что этот скин находится в пакете impl
, поскольку он является деталью реализации.
Страница документации по Java, тема JavaFX JMetro будет обновлена в ближайшее время.
Как всегда подписывайтесь на меня в твиттере и подписывайтесь на этот блог.
Вот что я запланировал дальше:
- Новый стиль кнопок с анимацией;
- Новый стиль слайдера;
- Новые стили Progress Bar;
- Возможность легко менять цвета.
Опубликовано на Java Code Geeks с разрешения Педро Дуке Виейры, партнера нашей программы JCG . См. Оригинальную статью здесь: беглый переключатель стиля дизайна для Java, JavaFX
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |