ข่าวสารเกี่ยวกับผลิตภัณฑ์
Jetpack WindowManager 1.5 พร้อมให้ใช้งานอย่างเสถียรแล้ว
ใช้เวลาอ่าน 3 นาที
เรายินดีที่จะประกาศว่า Jetpack WindowManager 1.5.0 พร้อมให้ใช้งานอย่างเสถียรแล้ว
เวอร์ชันนี้สร้างขึ้นจากรากฐานที่แข็งแกร่งของความสามารถในการปรับตัวใน WindowManager ซึ่งช่วยให้การสร้าง UI แบบปรับได้ที่สวยงามและดูดีในทุกขนาดหน้าจอเป็นเรื่องง่ายยิ่งขึ้น เนื่องจากระบบนิเวศของ Android เติบโตขึ้นอย่างต่อเนื่อง ผู้ใช้จึงมีส่วนร่วมกับแอปในอุปกรณ์ที่หลากหลายมากขึ้นกว่าที่เคย ไม่ว่าจะเป็นโทรศัพท์และอุปกรณ์แบบพับได้ ไปจนถึงแท็บเล็ต จอแสดงผลที่เชื่อมต่อ Chromebook และแม้แต่จอแสดงผลในรถยนต์ในโหมดจอดรถ
WindowManager 1.5 มุ่งเน้นที่การมอบเครื่องมือที่ดีขึ้นสำหรับสภาพแวดล้อมของอุปกรณ์ที่หลากหลายนี้
มีอะไรใหม่ใน WindowManager 1.5
เวอร์ชันที่เสถียรนี้มาพร้อมเบรกพอยต์ใหม่สำหรับหน้าจอขนาดใหญ่มาก ปรับปรุง API การฝังกิจกรรม และมอบความยืดหยุ่นมากขึ้นสำหรับการคำนวณเมตริกหน้าต่าง
คลาสขนาดหน้าต่างใหม่: ใหญ่และใหญ่พิเศษ
การอัปเดตที่ใหญ่ที่สุดใน 1.5 คือการเพิ่มคลาสขนาดหน้าต่างความกว้างใหม่ 2 คลาส ได้แก่ ใหญ่และใหญ่พิเศษ
คลาสขนาดหน้าต่างคือชุดเบรกพอยต์ของวิวพอร์ตอย่างเป็นทางการที่เราแนะนำให้ใช้ ซึ่งจะช่วยคุณออกแบบและพัฒนาเลย์เอาต์แบบปรับได้ ในเวอร์ชัน 1.5 เราได้ขยายคำแนะนำนี้สำหรับหน้าจอที่มีขนาดใหญ่กว่าแท็บเล็ตทั่วไป
เบรกพอยต์ความกว้างใหม่มีดังนี้
- ใหญ่: สำหรับความกว้างระหว่าง 1200dp ถึง 1600dp
- ใหญ่พิเศษ: สำหรับความกว้าง ≥1600dp
คลาสขนาดหน้าต่างต่างๆ ตามความกว้างของจอแสดงผล
เหตุใดคลาสเหล่านี้จึงมีความสำคัญ
ตั้งแต่ Android 16 QPR1 Beta 2 เป็นต้นมา Android รองรับจอแสดงผลที่เชื่อมต่อ ซึ่งช่วยให้ผู้ใช้สามารถเชื่อมต่อจอแสดงผลภายนอกกับอุปกรณ์และเปลี่ยนอุปกรณ์ให้เป็นเครื่องมือคล้ายเดสก์ท็อปที่มีหน้าจอขนาดใหญ่ได้
โทรศัพท์ที่เชื่อมต่อกับจอแสดงผลภายนอก โดยมีเซสชันเดสก์ท็อปในจอแสดงผลภายนอก
เมื่อมีฟีเจอร์ใหม่นี้ คำแนะนำที่แนะนำให้รวมจอแสดงผลขนาดใหญ่ขึ้นจึงมีความสำคัญ
ในพื้นผิวขนาดใหญ่มากเหล่านี้ การปรับขนาดเลย์เอาต์แบบขยายของแท็บเล็ตขึ้นอาจไม่ใช่ประสบการณ์การใช้งานที่ดีที่สุดเสมอไป ตัวอย่างเช่น โปรแกรมรับส่งอีเมลอาจแสดง 2 บานหน้าต่าง (กล่องจดหมายและข้อความ) ได้อย่างสบายๆ ในคลาสขนาดหน้าต่างแบบขยาย แต่ในจอภาพเดสก์ท็อปขนาดใหญ่พิเศษ โปรแกรมรับส่งอีเมลอาจแสดง3 หรือ 4 บานหน้าต่าง ได้อย่างสวยงาม เช่น กล่องจดหมาย รายการข้อความ เนื้อหาข้อความแบบเต็ม และแผงปฏิทิน/งาน ทั้งหมดพร้อมกัน
WindowManager 1.5 มอบเบรกพอยต์อย่างเป็นทางการสำหรับขนาดจอแสดงผลขนาดใหญ่มาก ซึ่งเป็นสัญญาณที่ชัดเจนให้คุณนำเลย์เอาต์ที่ออกแบบมาโดยเฉพาะสำหรับประสบการณ์การใช้งานเดสก์ท็อปที่มีประสิทธิภาพและมีข้อมูลจำนวนมากมาใช้
คุณคำนวณคลาสขนาดหน้าต่างได้โดยใช้ computeWindowSizeClass() ซึ่งเป็นฟังก์ชันส่วนขยายของไลบรารี androidx.window.core.layout ที่ขยายประเภท Set<WindowSizeClass>
หากต้องการรวมคลาสขนาดหน้าต่างใหม่ไว้ในโปรเจ็กต์ เพียงเรียกใช้ฟังก์ชันจากชุด WindowSizeClass.BREAKPOINTS_V2 แทน WindowSizeClass.BREAKPOINTS_V1 ดังนี้
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
จากนั้นใช้เลย์เอาต์ที่ถูกต้องเมื่อมั่นใจว่าแอปมีพื้นที่อย่างน้อยเท่านี้
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}ไลบรารีแบบปรับได้
ไลบรารี Compose Material 3 แบบปรับได้ ช่วยให้คุณสร้าง UI แบบปรับได้ที่ปรับตัวเองโดยอัตโนมัติตามการกำหนดค่าหน้าต่างปัจจุบัน เช่น คลาสขนาดหน้าต่างหรือท่าทางของอุปกรณ์
ข่าวดีคือไลบรารีอัปเดตเป็นเวอร์ชันล่าสุดที่มีเบรกพอยต์ใหม่แล้ว ตั้งแต่ เวอร์ชัน 1.2 (ตอนนี้อยู่ในระยะ Candidate สำหรับการเผยแพร่) ฟังก์ชันคำสั่ง Scaffold ของบานหน้าต่างเริ่มต้นรองรับคลาสขนาดหน้าต่างความกว้างใหญ่และใหญ่พิเศษ
คุณเพียงแค่เลือกใช้โดยประกาศในไฟล์ Gradle Build ว่าต้องการใช้เบรกพอยต์ใหม่
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
การปรับปรุงเพิ่มเติม
- การฝังกิจกรรม - บันทึกและกู้คืนอัตโนมัติ: ตอนนี้ WindowManager สามารถบันทึกและกู้คืนสถานะของการแยกการฝังกิจกรรมโดยอัตโนมัติ ซึ่งจะช่วยรักษาเลย์เอาต์ของผู้ใช้ไว้เมื่อมีการสร้างกระบวนการขึ้นใหม่ ส่งผลให้ได้รับประสบการณ์การใช้งานที่เสถียรและสอดคล้องกันมากขึ้น นักพัฒนาแอปไม่ต้องบันทึกและกู้คืนสถานะด้วยตนเองอีกต่อไป แต่สามารถเลือกใช้ฟีเจอร์อัตโนมัติได้ง่ายๆ โดยตั้งค่าพร็อพเพอร์ตี้ EmbeddingConfiguration#isAutoSaveEmbeddingState
- WindowMetrics แบบขยาย: ตอนนี้คุณสามารถคำนวณ WindowMetrics จากบริบทของแอปพลิเคชันได้แล้ว ไม่ใช่แค่จากบริบทของกิจกรรมเท่านั้น ซึ่งจะช่วยให้เข้าถึงข้อมูลหน้าต่างจากส่วนต่างๆ ของแอปได้ยืดหยุ่นมากขึ้น
วิธีเริ่มต้นใช้งาน
หากต้องการเริ่มใช้คลาสขนาดใหญ่และใหญ่พิเศษใหม่ รวมถึงฟีเจอร์อื่นๆ ของเวอร์ชัน 1.5 ในโปรเจ็กต์ Android ให้อัปเดตการขึ้นต่อกันของแอปใน build.gradle.kts เป็นเวอร์ชันเสถียรล่าสุด
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}WindowManager 1.5 เป็นอีกก้าวหนึ่งในการสร้างแอปแบบปรับได้เต็มรูปแบบที่ทำงานได้ในอุปกรณ์ Android ทุกรูปแบบ ดูรายการการเปลี่ยนแปลงและการแก้ไขข้อบกพร่องทั้งหมดได้ในบันทึกประจำรุ่นอย่างเป็นทางการ
ขอให้สนุกกับการเขียนโค้ด
อ่านต่อ
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
เรายินดีที่จะประกาศความสำเร็จครั้งสำคัญในการนำการประมวลผลบนอุปกรณ์เคลื่อนที่และเดสก์ท็อปมาไว้ใกล้กันมากขึ้นใน Android โดยการรองรับจอแสดงผลที่เชื่อมต่อพร้อมให้ใช้งานสำหรับผู้ใช้ทั่วไปแล้วในเวอร์ชัน Android 16 QPR3
Francesco Romano • ใช้เวลาอ่าน 7 นาที
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
เรายินดีที่จะประกาศว่าการรองรับ Unreal Engine และ Godot อย่างเป็นทางการพร้อมให้ใช้งานแล้วสำหรับ Android XR นอกจากนี้ เรายังเปิดตัวเครื่องมือใหม่ที่ออกแบบมาเพื่อเพิ่มประสิทธิภาพการทำงานและเปิดใช้ความสามารถใหม่ๆ ของ XR ได้แก่ Android XR Engine Hub และ Android XR Interaction Framework
Luke Hopkins • ใช้เวลาอ่าน 4 นาที
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
เมื่อเปิดตัว Android 17 เราจะเปลี่ยนไปใช้มาตรฐานการพัฒนาแบบปรับได้เป็นอันดับแรก ผู้ใช้ไม่ได้พึ่งพาอุปกรณ์รูปแบบเดียวอีกต่อไป แต่จะสลับไปมาระหว่างโทรศัพท์ อุปกรณ์แบบพับได้ แท็บเล็ต แล็ปท็อป จอแสดงผลในรถยนต์ และสภาพแวดล้อม XR แบบสมจริงตลอดทั้งวัน
Fahd Imtiaz • ใช้เวลาอ่าน 4 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์