แอป Android ทำงานบนอุปกรณ์ทุกประเภท ไม่ว่าจะเป็นโทรศัพท์ แท็บเล็ต อุปกรณ์พับได้ อุปกรณ์ ChromeOS รถยนต์ ทีวี และแม้แต่ XR แอปของคุณควรจะรองรับรูปแบบอุปกรณ์และขนาดการแสดงผลทั้งหมดเพื่อปรับให้เข้ากับสภาพแวดล้อมที่หลากหลายนี้
Android 16 (API ระดับ 36) ช่วยให้แอปปรับให้เข้ากับรูปแบบของอุปกรณ์และ ขนาดการแสดงผลต่างๆ ได้โดยการลบล้างข้อจำกัดของแอปสำหรับการวางแนวหน้าจอ สัดส่วน ภาพ และความสามารถในการปรับขนาด การลบล้างจะมีผลกับอุปกรณ์ที่มีความกว้างน้อยที่สุด >= 600dp ซึ่งกำหนดสิ่งต่อไปนี้
- แท็บเล็ต
- จอแสดงผลด้านในของอุปกรณ์พับได้ที่มีหน้าจอขนาดใหญ่
- การแสดงหน้าต่างบนเดสก์ท็อป (ในทุกรูปแบบของอุปกรณ์)
แอปที่กำหนดเป้าหมายเป็น API ระดับ 36 จะปรับขนาดได้และเข้าสู่โหมดหลายหน้าต่าง (เทียบเท่ากับ resizeableActivity="true"
) ได้หากความกว้างที่เล็กที่สุดของจอแสดงผลมีค่า >= 600dp

Android 16 บังคับใช้รูปแบบการออกแบบแอปแบบปรับได้ที่สอดคล้องกัน ซึ่งจะเพิ่มประสิทธิภาพ ประสบการณ์ของผู้ใช้โดยการคำนึงถึงค่ากำหนดของผู้ใช้สำหรับแนวอุปกรณ์ สัดส่วน ภาพ และขนาดการแสดงผล
การเปลี่ยนแปลง
ระบบจะไม่สนใจแอตทริบิวต์ในไฟล์ Manifest และ API ต่อไปนี้สำหรับแอปที่กำหนดเป้าหมายเป็น Android 16 (API ระดับ 36) บนหน้าจอขนาดใหญ่
แอตทริบิวต์หรือ API | ค่าที่ระบบไม่สนใจ |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
ทั้งหมด |
minAspectRatio |
ทั้งหมด |
maxAspectRatio |
ทั้งหมด |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
ข้อยกเว้น
ข้อยกเว้นสำหรับการเปลี่ยนแปลงใน Android 16 ได้แก่
จอแสดงผลที่มีขนาดเล็กกว่า sw600dp (โทรศัพท์ส่วนใหญ่ อุปกรณ์แบบพับได้ และจอแสดงผลด้านนอก ของอุปกรณ์แบบพับได้หน้าจอขนาดใหญ่)
เกมที่อิงตามธง
android:appCategory
เผยแพร่เกมโดยใช้ Android App Bundle และ Play App Signing เพื่ออนุญาตให้ Google Play จัดการฟีเจอร์และมอบสิทธิประโยชน์ของ App Bundle โดยอัตโนมัติ ดูภาพรวมของไฟล์ Manifest ของแอปด้วย
ผู้ใช้เลือกใช้ลักษณะการทำงานเริ่มต้นของแอปในการตั้งค่าสัดส่วนภาพ
เลือกไม่ใช้
หากต้องการเลือกไม่ใช้ลักษณะการทํางานของ API ระดับ 36 ให้ประกาศPROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
พร็อพเพอร์ตี้ไฟล์ Manifest
หากต้องการเลือกไม่ใช้กิจกรรมที่เฉพาะเจาะจง ให้ตั้งค่าพร็อพเพอร์ตี้ในองค์ประกอบ <activity>
ดังนี้
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
หากต้องการเลือกไม่ใช้สำหรับทั้งแอป ให้ตั้งค่าพร็อพเพอร์ตี้ในองค์ประกอบ <application>
ดังนี้
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
การทดสอบ
หากต้องการทดสอบว่าแอปได้รับผลกระทบจากการเปลี่ยนแปลงใน Android 16 หรือไม่ ให้ใช้โปรแกรมจำลอง Pixel
Tablet และ Pixel Fold ใน Android Studio แล้วตั้งค่า
targetSdkPreview = "Baklava"
ในไฟล์โมดูล build.gradle
ของแอป
หรือใช้เฟรมเวิร์กความเข้ากันได้ของแอปในอุปกรณ์ทดสอบโดยเปิดใช้ Flag UNIVERSAL_RESIZABLE_BY_DEFAULT (ดูเครื่องมือเฟรมเวิร์กความเข้ากันได้)
คุณสามารถทำการทดสอบโดยอัตโนมัติได้ด้วยเฟรมเวิร์กการทดสอบ Espresso และ Jetpack Compose Testing API
ปัญหาที่พบบ่อย
แอปที่จำกัดการวางแนวของอุปกรณ์ สัดส่วนภาพ หรือความสามารถในการปรับขนาดของแอปอาจ มีปัญหาในการแสดงผลบน Android 16 เช่น เลย์เอาต์ซ้อนทับกัน
หากต้องการมอบประสบการณ์การใช้งานที่ดีที่สุดบนโทรศัพท์ อุปกรณ์พับได้ แท็บเล็ต อุปกรณ์ ChromeOS จอแสดงผลในรถยนต์ และ XR ให้แก่ผู้ใช้ ให้สร้างแอปให้ตอบสนองและปรับเปลี่ยนได้ ดังนี้
หลีกเลี่ยงคอมโพเนนต์ UI ที่ยืดออก: เลย์เอาต์ที่ออกแบบมาสำหรับหน้าจอโทรศัพท์มาตรฐานแนวตั้ง มักจะรองรับสัดส่วนภาพอื่นๆ ไม่ได้ ตัวอย่างเช่น องค์ประกอบ UI ที่เติมความกว้างทั้งหมดของจอแสดงผลจะปรากฏ แบบยืดในแนวนอน เพิ่มความกว้างสูงสุดให้กับคอมโพเนนต์เพื่อ หลีกเลี่ยงการยืด
เปิดใช้เลย์เอาต์ให้เลื่อนได้: หากเลย์เอาต์เลื่อนไม่ได้ ผู้ใช้อาจเข้าถึงปุ่มหรือองค์ประกอบ UI อื่นๆ ที่อยู่นอกหน้าจอในแนวนอนไม่ได้ เปิดใช้เลย์เอาต์แอปให้เลื่อนได้เพื่อให้เข้าถึงเนื้อหาทั้งหมดได้ ไม่ว่าจอแสดงผลจะมีความสูงเท่าใดก็ตาม
ตรวจสอบความเข้ากันได้ของกล้องในแนวตั้งและแนวนอน: ช่องมองภาพของกล้อง ที่ใช้สัดส่วนภาพและการวางแนวที่เฉพาะเจาะจงซึ่งสัมพันธ์กับ เซ็นเซอร์ของกล้องอาจทำให้ภาพตัวอย่างยืดหรือพลิกบนจอแสดงผลที่ไม่เป็นไปตามข้อกำหนด ตรวจสอบว่าช่องมองภาพหมุนอย่างถูกต้องเมื่อมีการเปลี่ยนการวางแนว เปิดใช้ช่องมองภาพเพื่อปรับให้เข้ากับสัดส่วนการแสดงผลของ UI ที่แตกต่างจากสัดส่วนการแสดงผลของเซ็นเซอร์
คงสถานะไว้ระหว่างการเปลี่ยนขนาดหน้าต่าง: การนำข้อจำกัดด้านการวางแนว และสัดส่วนภาพออกอาจส่งผลให้ขนาดหน้าต่างแอปเปลี่ยนแปลงบ่อย เพื่อตอบสนองต่อวิธีที่ผู้ใช้ต้องการใช้แอป เช่น การหมุน การพับ หรือการกางอุปกรณ์ หรือการปรับขนาดแอปในโหมดหลายหน้าต่างหรือ โหมดหน้าต่างเดสก์ท็อป การเปลี่ยนแปลงการกำหนดค่า เช่น การเปลี่ยนแปลงการวางแนว และการปรับขนาดหน้าต่าง จะทำให้เกิดการสร้างกิจกรรมขึ้นใหม่ (โดยค่าเริ่มต้น) เพื่อมอบประสบการณ์การใช้งานที่ดีที่สุด ให้แก่ผู้ใช้ ให้รักษาสถานะของแอปไว้ในระหว่างการเปลี่ยนแปลงการกำหนดค่า เพื่อให้ แอปเก็บข้อมูล (เช่น ข้อมูลที่ป้อนในแบบฟอร์ม) และผู้ใช้สามารถคงบริบทไว้ได้
ใช้คลาสขนาดหน้าต่าง: รองรับขนาดหน้าต่างและสัดส่วนภาพที่แตกต่างกันโดยไม่ต้องปรับแต่งเฉพาะอุปกรณ์ สมมติว่าขนาดหน้าต่าง จะเปลี่ยนแปลงบ่อย ใช้คลาสขนาดหน้าต่างเพื่อระบุลักษณะของขนาดหน้าต่าง แล้วใช้เลย์เอาต์แบบปรับได้ที่เหมาะสม
สร้างเลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์: ภายในคลาสขนาดหน้าต่าง เลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์ จะปรับให้เข้ากับการเปลี่ยนแปลงในขนาดการแสดงผลเพื่อสร้างการนำเสนอแอปที่เหมาะสมที่สุดเสมอ
ไทม์ไลน์
Android 16 (2025): การรองรับการวางแนวและสัดส่วนภาพทั้งหมด รวมถึงความสามารถในการปรับขนาดแอปจะเป็นประสบการณ์พื้นฐานสำหรับอุปกรณ์หน้าจอขนาดใหญ่ (ความกว้างของหน้าจอที่เล็กที่สุด >= 600dp) สำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับ 36 อย่างไรก็ตาม นักพัฒนาแอปสามารถเลือกไม่ใช้ได้
การเปิดตัว Android ในปี 2026: การรองรับการวางแนวและสัดส่วนภาพทั้งหมด รวมถึงการปรับขนาดแอปจะเป็นประสบการณ์พื้นฐานสำหรับอุปกรณ์หน้าจอขนาดใหญ่ (ความกว้างหน้าจอที่เล็กที่สุด >= 600dp) สำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับ 37 นักพัฒนาแอปจะไม่มีตัวเลือกในการเลือกไม่รับ
ระดับ API เป้าหมาย | อุปกรณ์ที่ใช้ได้ | อนุญาตให้นักพัฒนาแอปเลือกไม่ใช้ |
---|---|---|
36 (Android 16) | อุปกรณ์ที่มีหน้าจอขนาดใหญ่ (ความกว้างของหน้าจอที่เล็กที่สุด >= 600dp) | ใช่ |
37 (คาดการณ์) | อุปกรณ์ที่มีหน้าจอขนาดใหญ่ (ความกว้างของหน้าจอที่เล็กที่สุด >= 600dp) | ไม่ |
กำหนดเวลาสำหรับการกำหนดเป้าหมาย API ระดับที่เฉพาะเจาะจงจะขึ้นอยู่กับ App Store Google Play จะกำหนดให้แอปกำหนดเป้าหมายเป็น API ระดับ 36 ตั้งแต่เดือนสิงหาคม 2026 และ API ระดับ 37 ตั้งแต่เดือนสิงหาคม 2027
แหล่งข้อมูลเพิ่มเติม
- การเปลี่ยนแปลงลักษณะการทำงาน: แอปที่กำหนดเป้าหมายเป็น Android 16 ขึ้นไป
- สร้างแอปแบบปรับอัตโนมัติ
- สิ่งที่ควรและไม่ควรทำในการปรับ