Phát hành thư viện Libadwaita 1.5 để tạo giao diện kiểu GNOME

Dự án GNOME đã xuất bản bản phát hành của thư viện Libadwaita 1.5, bao gồm một tập hợp các thành phần để định kiểu giao diện người dùng tuân thủ các khuyến nghị của GNOME HIG (Hướng dẫn giao diện con người). Thư viện bao gồm các tiện ích và đối tượng được tạo sẵn để xây dựng các ứng dụng tuân theo kiểu Gnome chung, giao diện có thể thích ứng nhanh với màn hình ở mọi kích thước. Mã thư viện được viết bằng ngôn ngữ C và được phân phối theo giấy phép LGPL 2.1+.

Thư viện libadwaita được sử dụng cùng với GTK4 và bao gồm các thành phần của giao diện Adwaita được sử dụng trong Gnome, đã được chuyển ra khỏi GTK vào một thư viện riêng. Di chuyển hình ảnh GNOME vào một thư viện riêng biệt cho phép các thay đổi cần thiết của GNOME được phát triển riêng biệt với GTK, cho phép các nhà phát triển GTK tập trung vào những điều cơ bản và các nhà phát triển GNOME thúc đẩy các thay đổi kiểu dáng cho chính họ một cách nhanh chóng và linh hoạt hơn mà không ảnh hưởng đến chính GTK.

Thư viện bao gồm các tiện ích tiêu chuẩn bao gồm các thành phần giao diện khác nhau, chẳng hạn như danh sách, bảng điều khiển, khối chỉnh sửa, nút, tab, biểu mẫu tìm kiếm, hộp thoại, v.v. Các tiện ích được đề xuất cho phép bạn tạo các giao diện phổ quát hoạt động trơn tru cả trên màn hình lớn của PC và máy tính xách tay cũng như trên màn hình cảm ứng nhỏ của điện thoại thông minh. Giao diện ứng dụng thay đổi linh hoạt tùy thuộc vào kích thước màn hình và các thiết bị đầu vào khả dụng. Thư viện cũng bao gồm một tập hợp các kiểu Adwaita mang lại giao diện theo hướng dẫn của Gnome mà không cần tùy chỉnh thủ công.

Phát hành thư viện Libadwaita 1.5 để tạo giao diện kiểu GNOME

Thay đổi chính trong libadwaita 1.5 là việc làm lại các tiện ích thích ứng để tạo các hộp thoại điều chỉnh theo kích thước của vùng hiển thị. Không giống như các hộp thoại truyền thống được đặt trong các cửa sổ riêng biệt, các hộp thoại mới được hiển thị phía máy khách, được hiển thị bên trong các cửa sổ hiện có và không thể mở rộng ra ngoài cửa sổ chính của chúng. Cách tiếp cận này giúp đơn giản hóa việc tạo các hộp thoại phổ quát có thể kết hợp với giao diện cho hệ thống di động và máy tính để bàn, đồng thời cung cấp các tùy chọn bổ sung để quản lý hộp thoại (ví dụ: không cần giám sát việc thoát khỏi viền cửa sổ, bạn có thể chọn hành vi của nút đóng, tự động mở rộng ra toàn màn hình được cung cấp trong các phiên bản ứng dụng dành cho thiết bị di động, kiểu cửa sổ hiện tại chứ không phải hệ thống sẽ được tính đến khi làm mờ hộp thoại).

Phát hành thư viện Libadwaita 1.5 để tạo giao diện kiểu GNOMEPhát hành thư viện Libadwaita 1.5 để tạo giao diện kiểu GNOME

Trong tương lai, người ta dự định triển khai một phiên bản khác của các hộp thoại như vậy, không liên kết với cửa sổ mà với các tab bên trong cửa sổ, có thể cần thiết trong các ứng dụng như trình duyệt để các hộp thoại liên kết với tab không chồng lên cửa sổ chính khi chuyển đổi giữa các tab.

Đối với thiết bị di động, hỗ trợ đã được triển khai để đặt hộp thoại ở dạng trang tính được gắn ở cuối màn hình (trang dưới cùng), thay vì ở dạng trang tính được căn chỉnh vào giữa. Các hộp thoại được gắn ở phía dưới giúp người dùng khỏi nhầm lẫn khi đóng cửa sổ - trong những hộp thoại như vậy, một phần của cửa sổ chính vẫn hiển thị và các nút đóng cửa sổ chính và bản thân hộp thoại được tách biệt rõ ràng, vì vậy hiện nay rất khó nhầm lẫn chúng.

Phát hành thư viện Libadwaita 1.5 để tạo giao diện kiểu GNOME

Các hộp thoại mới được quản lý bằng lớp AdwDialog, trong hầu hết các trường hợp tương tự như sử dụng lớp GtkWindow, với điểm khác biệt là các thao tác hiển thị và đóng. Ví dụ: thuộc tính “:transient-for” đã được thay thế bằng một tham số trong hàm adw_dialog_ Present(), một tín hiệu mới “::close-attempt” đã được thêm vào và quá trình xử lý tham số “:can-close” đã được thay đổi . Thay vì các lớp AdwPreferencesWindow, AdwAboutWindow và AdwMessageDialog, chúng tôi đề xuất sử dụng các lớp AdwPreferencesDialog, AdwAboutDialog và AdwAlertDialog với các hộp thoại mới.

Các hộp thoại không có cửa sổ chính sẽ vẫn được coi là các cửa sổ riêng biệt. Các hộp thoại có cửa sổ mẹ không thể được sử dụng để lưu trữ các hộp thoại cũng sẽ hoạt động như các cửa sổ, chẳng hạn như nếu chúng không cho phép thay đổi kích thước hoặc không có các lớp AdwWindow và AdwApplicationWindow cho chúng.

Những thay đổi không liên quan đến việc làm lại đoạn hội thoại trong Libadwaita 1.5:

  • Đã thêm thuộc tính ":text-length" vào lớp AdwEntryRow để giới hạn kích thước của văn bản trong trường nhập.
  • Đã thêm phương thức Remove_response() vào lớp AdwMessageDialog.
  • Khả năng loại bỏ các điểm dừng theo chương trình đã được thêm vào lớp AdwBreakpointBin, cho phép bạn thay đổi giao diện người dùng theo bất kỳ cách nào tùy thuộc vào kích thước cửa sổ.
  • Đã thêm cờ ":allow-window-handle" vào lớp AdwSwipeTracker để cho phép vuốt lên trên thanh trên cùng (được sử dụng trong các trang tính được gắn vào cạnh dưới).
  • Tăng độ sáng của màu sắc được sử dụng khi tạo bóng cho cửa sổ theo phong cách thiết kế tối.

Nguồn: opennet.ru

Thêm một lời nhận xét