
libadwaita базується на бібліотеці libhandy і може замінити цю бібліотеку,
The випуск нової версії бібліотеки Libadwaita 1.4 в якому представлені різні вдосконалення і з яких виділяються, наприклад, нова система Breakpoint, нові адаптивні віджети, покращення кнопки "Назад"., покращення розділених переглядів, нові стилі та багато іншого.
Для тих, хто не знає про Libadwaita, ви повинні знати, що це містить набір компонентів для розробки інтерфейсу користувача який відповідає вимогам GNOME HIG (Рекомендації щодо людського інтерфейсу). Бібліотека містить готові до використання віджети та об’єкти для створення додатків, які відповідають загальному стилю GNOME, інтерфейс яких можна швидко адаптувати до екранів будь-якого розміру.
Бібліотека libadwaita використовується в поєднанні з GTK4 і включає компоненти Adwaita, що використовуються в GNOME, які були переміщені з GTK в окрему бібліотеку.
Основні нові функції в Libadwaita 1.4
У цій новій версії Libadwaita 1.4, яку ми запропонували нові адаптивні віджети, які підлаштовуються під розмір видимої області, а новий набір забезпечує правильну підтримку для вкладеної зміни розміру (наприклад, коли зміна розміру бічної панелі передбачає зміну розміру кнопок і перемикачів).
Крім того, Виправлено проблеми з анімованими ефектами Під час зміни режимів було змінено обробку змін ширини та збільшено гнучкість використання (наприклад, у мобільній версії ви можете перемістити деякі віджети з заголовка на нижню панель).
Інші зміни, які виділяються в новій версії Libadwaita 1.4, полягають у тому, що вона була реалізованаn система точок зупину, клас точки зупину, що дозволяє будь-яким чином змінювати інтерфейс користувача в залежності від розміру вікна. Точки зупину, серед іншого, можуть бути визначені декларативно за допомогою файлів інтерфейсу користувача.
Наприклад, можна використовувати повністю декларативно з файлів інтерфейсу користувача:
<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+.