发布用于创建 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

添加评论