ข่าวสารเกี่ยวกับผลิตภัณฑ์

Material 3 Adaptive 1.2.0 พร้อมให้ใช้งานอย่างเสถียรแล้ว

ใช้เวลาอ่าน 2 นาที
Rob Orgiu
วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์

เรายินดีที่จะประกาศให้ทราบว่า Material 3 Adaptive 1.2.0 พร้อมให้ใช้งานอย่างเสถียรแล้ว

รุ่นนี้ยังคงพัฒนาต่อจากรุ่นก่อนๆ โดยขยายการรองรับเบรกพอยต์เพิ่มเติมสำหรับคลาสขนาดหน้าต่างและกลยุทธ์ใหม่ในการวางบานหน้าต่างแสดงผลโดยอัตโนมัติ

มีอะไรใหม่ใน Material 3 Adaptive 1.2.0

รุ่นเสถียรนี้สร้างขึ้นโดยอิงตามการรองรับเบรกพอยต์ขนาดใหญ่และขนาดใหญ่พิเศษของ WindowManager 1.5.0 และนำเสนอกลยุทธ์การจัดเรียงใหม่และการลอยสำหรับ ListDetailPaneScaffold และ SupportingPaneScaffold 

คลาสขนาดหน้าต่างใหม่: ใหญ่และใหญ่พิเศษ

newwindow.png


WindowManager 1.5.0 ได้เปิดตัวเบรกพอยต์ใหม่ 2 รายการ สำหรับคลาสขนาดหน้าต่างความกว้างเพื่อรองรับหน้าต่างที่ใหญ่กว่าคลาสขนาดหน้าต่างแบบขยาย คุณเปิดใช้เบรกพอยต์ขนาดใหญ่ (L) และขนาดใหญ่พิเศษ (XL) ได้โดยเพิ่มพารามิเตอร์ต่อไปนี้ลงในการเรียก currentWindowAdaptiveInfo() ในฐานของโค้ด

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

แฟล็กนี้ช่วยให้ไลบรารีแสดงผลเบรกพอยต์ L และ XL ได้ด้วยทุกครั้งที่จำเป็น

กลยุทธ์การปรับเปลี่ยนใหม่: การจัดเรียงใหม่และการลอย

การจัดเรียงเนื้อหาและบานหน้าต่างแสดงผลในหน้าต่างเป็นงานที่ซับซ้อนซึ่งต้องพิจารณาปัจจัยหลายอย่าง โดยเริ่มจากขนาดหน้าต่าง ไลบรารี Material 3 Adaptive ใหม่มีเทคโนโลยีใหม่ 2 รายการที่จะช่วยให้คุณได้เลย์เอาต์ที่ปรับเปลี่ยนได้โดยใช้ความพยายามน้อยที่สุด

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

material.jpg

การจัดเรียงบานหน้าต่างใหม่ตามขนาดหน้าต่าง

แม้ว่าการจัดเรียงใหม่จะเป็นตัวเลือกที่ยอดเยี่ยมในหลายๆ กรณี แต่ก็อาจมีบางสถานการณ์ที่เนื้อหาอาจต้องตรึงไว้ที่ด้านข้างของหน้าต่างหรือ ลอย อยู่ด้านบน กลยุทธ์การลอยไม่เพียงแต่ตรึงเนื้อหาเท่านั้น แต่ยังช่วยให้คุณปรับแต่งฟีเจอร์ต่างๆ เช่น การลาก การปรับขนาด และแม้แต่ฉากหลังได้ด้วย


 

material2.jpg

การลอยบานหน้าต่างจากด้านข้างไปตรงกลางตามอัตราส่วนกว้างยาว

คุณประกาศกลยุทธ์การจัดเรียงใหม่และการลอยได้ภายในตัวสร้าง Navigator โดยใช้พารามิเตอร์ adaptStrategies และใช้กลยุทธ์ทั้ง 2 อย่างกับ scaffolds ของบานหน้าต่างรายละเอียดรายการและบานหน้าต่างสนับสนุนได้

val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>(
        adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies(
            detailPaneAdaptStrategy = AdaptStrategy.Reflow(
                reflowUnder = ListDetailPaneScaffoldRole.List
            ),
            extraPaneAdaptStrategy = AdaptStrategy.Levitate(
                alignment = Alignment.Center
            )
        )
    )


 

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ประโยชน์จากกลยุทธ์การปรับเปลี่ยนใหม่เหล่านี้ได้ที่ เว็บไซต์ Material และ โค้ดตัวอย่าง ฉบับเต็มใน GitHub

เขียนโดย

อ่านต่อ