發布用於創建 GNOME 風格界面的 Libadwaita 1.5 庫

GNOME 專案發布了 Libadwaita 1.5 版本,其中包括一組遵循 GNOME HIG(人機介面指南)的使用者介面樣式元件。 該庫包含現成的小部件和對象,用於構建符合通用 GNOME 風格的應用程序,其界面可以自適應調整以適應任何尺寸的螢幕。 該函式庫程式碼是用 C 語言編寫的,並根據 LGPL 2.1+ 授權分發。

libadwaita 庫與 GTK4 結合使用,並包含 GNOME 中使用的 Adwaita 主題的元件,這些元件已從 GTK 移出到單獨的庫中。 將GNOME 樣式元素移至單獨的庫中,允許與GTK 分開開發特定於GNOME 的更改,從而使GTK 開發人員可以專注於核心內容,而GNOME 開發人員可以更快、更靈活地推進他們想要的樣式更改,而不會影響GTK 本身。

該庫包括涵蓋各種介面元素的標準小部件,例如清單、面板、編輯區塊、按鈕、選項卡、搜尋表單、對話方塊等。 建議的小部件可讓您創建通用介面,可在大型 PC 和筆記型電腦螢幕以及智慧型手機的小型觸控螢幕上無縫運行。 應用程式介面根據螢幕尺寸和可用輸入裝置動態變化。 該庫還包括一組 Adwaita 樣式,使外觀符合 GNOME 指南,無需手動調整。

發布用於創建 GNOME 風格界面的 Libadwaita 1.5 庫

libadwaita 1.5 中的主要變化是自適應小工具的重新設計,以建立可調整可見區域大小的對話方塊。與位於單獨視窗中的傳統對話框不同,新對話框在客戶端呈現,在現有視窗內呈現,並且不能擴展到父視窗之外。這種方法簡化了通用對話框的創建,可以與行動和桌面系統的介面相結合,並且還提供了用於管理對話框的附加選項(例如,無需監視退出視窗邊框,您可以選擇關閉按鈕,移動版本的應用程式中提供自動擴展到全屏,調暗對話框時會考慮當前視窗的樣式,而不是系統)。

發布用於創建 GNOME 風格界面的 Libadwaita 1.5 庫發布用於創建 GNOME 風格界面的 Libadwaita 1.5 庫

將來,計劃實現此類對話框的另一個版本,不連結到窗口,而是連結到窗口內的選項卡,這在瀏覽器等應用程式中可能需要,以便與選項卡關聯的對話框在以下情況下方不會與主視窗重疊:在選項卡之間切換。

對於行動設備,已實現支援以停靠在螢幕底部的工作表(底部工作表)的形式放置對話框,而不是以與中心對齊的工作表的形式。附加到底部的對話框使用戶不會因關閉視窗而感到困惑- 在此類對話框中,父視窗的一部分仍然可見,並且用於關閉父視窗的按鈕和對話框本身清晰分開,因此現在很難將它們混淆。

發布用於創建 GNOME 風格界面的 Libadwaita 1.5 庫

新對話方塊使用 AdwDialog 類別進行管理,在大多數情況下與使用 GtkWindow 類別類似,差異在於顯示和關閉操作。例如,將“:transient-for”屬性替換為adw_dialog_present()函數中的參數,新增了新訊號“::close-attempt”,並更改了“:can-close”參數的處理。建議在新對話方塊中使用 AdwPreferencesDialog、AdwAboutDialog 和 AdwAlertDialog 類,而不是 AdwPreferencesWindow、AdwAboutWindow 和 AdwMessageDialog 類別。

沒有父視窗的對話框仍將被視為單獨的視窗。其父窗口不能用於承載對話框的對話框也將充當窗口,例如,如果它們不允許調整大小或沒有 AdwWindow 和 AdwApplicationWindow 類別。

與 Libadwaita 1.5 中的對話重做無關的更改:

  • 在 AdwEntryRow 類別中新增了「:text-length」屬性,以限制輸入欄位中文字的大小。
  • 在 AdwMessageDialog 類別中新增了remove_response() 方法。
  • AdwBreakpointBin 類別中新增了以程式設計方式刪除斷點的功能,它允許您根據視窗大小以任何方式變更使用者介面。
  • 在 AdwSwipeTracker 類別中添加了“:allow-window-handle”標誌,以允許在頂部欄頂部滑動(在附加到底部邊緣的工作表中使用)。
  • 增加了以深色設計風格遮蔽窗戶時所用顏色的亮度。

來源: opennet.ru

添加評論