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+