Libadwaita 1.4 уже выпущена, и это ее новые возможности.

Ответить

libadwaita основана на библиотеке libhandy и предназначена для замены этой библиотеки.

В выпуск новой версии библиотеки Libadwaita 1.4 в котором представлены различные улучшения и из которых выделяются, например, новая система точек останова, новые адаптивные виджеты, улучшения кнопок «Назад», улучшения разделения представлений, новые стили и многое другое.

Тем, кто не знает о Либадвайте, следует знать, что это включает в себя набор компонентов для проектирования пользовательского интерфейса который соответствует GNOME HIG (рекомендациям по пользовательскому интерфейсу). Библиотека включает готовые к использованию виджеты и объекты для создания приложений, соответствующих общему стилю GNOME, интерфейс которых можно быстро адаптировать к экранам любого размера.

Библиотека libadwaita используется вместе с GTK4 и включает в себя компоненты Adwaita, используемые в GNOME, которые были перенесены из GTK в отдельную библиотеку.

Основные новые функции в Libadwaita 1.4

В этой новой версии Либадвайты 1.4 мы предложили новые адаптивные виджеты, подстраивающиеся под размер видимой области, а новый набор обеспечивает правильную поддержку вложенного изменения размера (например, когда изменение размера боковой панели включает изменение размера кнопок и переключателей).

Кроме того, Исправлены проблемы с анимированными эффектами. При смене режимов изменена обработка изменения ширины и увеличена гибкость использования (например, в мобильной версии можно переместить часть виджетов из шапки на нижнюю панель).

Другие изменения, которые выделяются в новой версии Libadwaita 1.4, заключаются в том, что она была реализована.n система точек останова, класс Breakpoint, который позволяет изменять пользовательский интерфейс любым способом в зависимости от размера окна. Точки останова, помимо прочего, могут быть определены декларативно через файлы пользовательского интерфейса.

Например, может использоваться полностью декларативно из файлов пользовательского интерфейса:

<object class="AdwBreakpoint">
<condition>max-width: 500sp</condition>
<setter object="split-view" property="collapsed">True</property>
</object>

С другой стороны, виджет AdwNavigationView реализует шаблон навигации, заменяющий виджет AdwLeaflet. в режиме «can-unfold=false», предоставляя стек навигации, который можно настроить статически (через файлы пользовательского интерфейса) или динамически, и поддерживает действия Navigation.push и Navigation.pop для размещения страниц непосредственно из пользовательского интерфейса файла.

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

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

Из других изменений которые выделяются из этой новой версии:

  • Добавлен виджет для отображения переключателей AdwSwitchRow, реализованный как подкласс AdwActionRow, содержащий GtkSwitch.
  • Добавлен виджет AdwSpinRow с реализацией строки списка, включающей GtkSpinButton.
  • Добавлен новый класс стиля » .property » для отображения свойств.
  • Добавлена ​​функция adw_about_window_new_from_appdata() для упрощения создания окон с информацией о программе.
  • Виджет AdwComboRow теперь поддерживает поля поиска.
  • Добавлено свойство AdwPreferencesPage:description для отображения описания вверху страницы.
  • В виджете AdwTabOverview значительно изменена обработка миниатюр, чтобы лучше работать с WebKitWebView.
  • Цвет заголовков и панелей инструментов в светлых темах изменен на белый вместо серого. Серый цвет теперь включен в боковые панели.

Наконец, если вы интересно узнать о нем больше, вы можете проверить подробности по следующей ссылке. Также стоит отметить, что код библиотеки написан на языке C и распространяется по лицензии LGPL 2.1+.