Libadwaita 1.4 เปิดตัวแล้ว และนี่คือฟีเจอร์ใหม่

ตอบ

libadwaita ขึ้นอยู่กับห้องสมุด libhandy และอยู่ในตำแหน่งที่จะแทนที่ห้องสมุดนี้

ดิ การเปิดตัวไลบรารี Libadwaita 1.4 เวอร์ชันใหม่ โดยมีการนำเสนอการปรับปรุงต่างๆ ที่โดดเด่น เช่น ระบบเบรกพอยต์ใหม่ วิดเจ็ตแบบปรับได้ใหม่ การปรับปรุงปุ่มย้อนกลับการปรับปรุงมุมมองแยก สไตล์ใหม่ และอื่นๆ อีกมากมาย

สำหรับผู้ที่ไม่ทราบเกี่ยวกับลิบัดไวตาคุณควรรู้ไว้ว่า รวมชุดส่วนประกอบเพื่อออกแบบส่วนต่อประสานกับผู้ใช้ ซึ่งสอดคล้องกับ GNOME HIG (แนวทางอินเทอร์เฟซสำหรับมนุษย์) ไลบรารีประกอบด้วยวิดเจ็ตและออบเจ็กต์ที่พร้อมใช้งานสำหรับการสร้างแอปพลิเคชันที่สอดคล้องกับสไตล์ GNOME ทั่วไป ซึ่งอินเทอร์เฟซสามารถปรับให้เข้ากับหน้าจอทุกขนาดได้ตามต้องการ

ไลบรารี libadwaita ใช้ร่วมกับ GTK4 และรวมส่วนประกอบของ Adwaita ที่ใช้ใน GNOME ที่ถูกย้ายจาก GTK ไปยังไลบรารีแยกต่างหาก

คุณสมบัติใหม่หลักใน Libadwaita 1.4

ในเวอร์ชันใหม่ที่นำเสนอของ Libadwaita 1.4 เราได้นำเสนอแล้ว วิดเจ็ตแบบปรับได้ใหม่ที่ปรับขนาดของพื้นที่ที่มองเห็นได้และชุดใหม่ให้การสนับสนุนที่ถูกต้องสำหรับการปรับขนาดแบบซ้อน (เช่น เมื่อปรับขนาดแถบด้านข้างเกี่ยวข้องกับการปรับขนาดปุ่มและสวิตช์)

นอกเหนือจากนั้น, แก้ไขปัญหาเกี่ยวกับเอฟเฟ็กต์ภาพเคลื่อนไหว เมื่อเปลี่ยนโหมด การจัดการการเปลี่ยนแปลงความกว้างได้รับการแก้ไข และความยืดหยุ่นในการใช้งานเพิ่มขึ้น (เช่น ในเวอร์ชันมือถือ คุณสามารถย้ายวิดเจ็ตบางส่วนจากส่วนหัวไปยังแผงด้านล่าง)

การเปลี่ยนแปลงอื่นๆ ที่โดดเด่นใน Libadwaita 1.4 เวอร์ชันใหม่คือมีการใช้งานแล้วระบบเบรกพอยต์ คลาสเบรกพอยต์ ซึ่งช่วยให้คุณเปลี่ยนส่วนต่อประสานกับผู้ใช้ในลักษณะใดก็ได้ขึ้นอยู่กับขนาดของหน้าต่าง เบรกพอยต์เหนือสิ่งอื่นใดสามารถกำหนดได้อย่างเปิดเผยผ่านไฟล์ UI

เช่น สามารถนำมาใช้ได้อย่างเปิดเผยอย่างสมบูรณ์ จากไฟล์ UI:

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

ในทางกลับกันวิดเจ็ต AdwNavigationView ใช้รูปแบบการนำทางที่มาแทนที่วิดเจ็ต AdwLeaflet ในโหมด "can-unfold=false" ซึ่งมีสแต็กการนำทางที่สามารถกำหนดค่าแบบคงที่ (ผ่านไฟล์ UI) หรือแบบไดนามิก และรองรับการดำเนินการ Navigation.push และ Navigation.pop เพื่อวางเพจโดยตรงจาก UI ของไฟล์

วิดเจ็ต ขณะนี้ AdwHeaderBar มีความสามารถในการแสดงส่วนหัวที่ถูกต้องโดยอัตโนมัติ สำหรับแต่ละหน้าการนำทางพร้อมทั้งแสดงปุ่มย้อนกลับเพื่อไปหน้าก่อนหน้าหรือแสดงเมนูเพื่อเลือกหน้าที่จะไป

สิ่งที่น่าสังเกตก็คือมีการเพิ่มวิดเจ็ต AdwNavigationSplitView ซึ่งมีลูกสองคน (แถบด้านข้างและเนื้อหา) ที่ปรากฏเคียงข้างกัน สามารถเลือกขนาดของแถบด้านข้างเป็นเปอร์เซ็นต์หนึ่งของความกว้างทั้งหมดของพื้นที่ที่มองเห็นได้

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:

  • เพิ่มวิดเจ็ตเพื่อแสดงสวิตช์ AdwSwitchRow ซึ่งใช้เป็นคลาสย่อยของ AdwActionRow ที่มี GtkSwitch
  • เพิ่มวิดเจ็ต AdwSpinRow พร้อมการใช้งานแถวรายการที่มี GtkSpinButton
  • เพิ่มคลาสสไตล์ใหม่ » .property » เพื่อแสดงคุณสมบัติ
  • เพิ่มฟังก์ชัน adw_about_window_new_from_appdata() เพื่อทำให้การสร้างหน้าต่างพร้อมข้อมูลเกี่ยวกับโปรแกรมง่ายขึ้น
  • วิดเจ็ต AdwComboRow รองรับช่องค้นหาแล้ว
  • เพิ่มคุณสมบัติ AdwPreferencesPage:description เพื่อแสดงคำอธิบายที่ด้านบนของหน้า
  • วิดเจ็ต AdwTabOverview ได้ปรับเปลี่ยนการจัดการภาพขนาดย่ออย่างมากเพื่อให้ทำงานได้ดีขึ้นกับ WebKitWebView
  • สีของส่วนหัวและแถบเครื่องมือในธีมสีอ่อนเปลี่ยนเป็นสีขาวแทนที่จะเป็นสีเทา ตอนนี้สีเทารวมอยู่ในแถบด้านข้างแล้ว

สุดท้ายนี้ หากคุณคือ สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ คุณสามารถตรวจสอบไฟล์ รายละเอียดตามลิงค์ต่อไปนี้ เป็นที่น่าสังเกตว่ารหัสห้องสมุดเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต LGPL 2.1+