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

Android 16 บังคับใช้รูปแบบการออกแบบแอปแบบปรับเปลี่ยนได้ที่สอดคล้องกันซึ่งเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้โดยคำนึงถึงค่ากำหนดของผู้ใช้สำหรับการวางแนวของอุปกรณ์ สัดส่วนการแสดงผล และขนาดการแสดงผล
การเปลี่ยนแปลง
ระบบจะไม่สนใจแอตทริบิวต์และ API ต่อไปนี้ในไฟล์ Manifest สำหรับแอปที่กำหนดเป้าหมายเป็น 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 (โทรศัพท์ส่วนใหญ่ โทรศัพท์แบบฝาพับ และหน้าจอด้านนอกของอุปกรณ์แบบพับได้หน้าจอขนาดใหญ่)
เกมตาม Flag
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 Series ใน Android Studio และตั้งค่า targetSdkPreview = "Baklava"
ในไฟล์ build.gradle
ของโมดูลแอป
หรือใช้เฟรมเวิร์กความเข้ากันได้ของแอปในอุปกรณ์ทดสอบโดยเปิดใช้ Flag UNIVERSAL_RESIZABLE_BY_DEFAULT (ดูเครื่องมือเฟรมเวิร์กความเข้ากันได้)
คุณทําให้การทดสอบเป็นแบบอัตโนมัติได้โดยใช้เฟรมเวิร์กการทดสอบ Espresso และ Jetpack Compose Testing API
ปัญหาที่พบได้ทั่วไป
แอปที่จำกัดการวางแนวของอุปกรณ์ สัดส่วนการแสดงผล หรือความสามารถในการปรับขนาดแอปอาจมีปัญหาในการแสดงผลบน Android 16 เช่น เลย์เอาต์ที่ซ้อนทับกัน
สร้างแอปให้ตอบสนองและปรับเปลี่ยนได้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุดบนโทรศัพท์ อุปกรณ์แบบพับได้ แท็บเล็ต Chromebook จอแสดงผลในรถยนต์ หรือ 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 ขึ้นไป
- สร้างแอปที่ปรับให้เหมาะกับอุปกรณ์
- สิ่งที่ควรและไม่ควรทำเกี่ยวกับการปรับเสียงอัจฉริยะ