ระบบจะไม่สนใจข้อจำกัดเกี่ยวกับการวางแนวและการปรับขนาด

เนื่องจากตอนนี้แอป Android ทำงานบนอุปกรณ์ต่างๆ ได้แล้ว (เช่น โทรศัพท์ แท็บเล็ต อุปกรณ์พับได้ เดสก์ท็อป รถยนต์ และทีวี) และมีโหมดการจัดหน้าต่างบนหน้าจอขนาดใหญ่ (เช่น การแยกหน้าจอและการจัดหน้าต่างบนเดสก์ท็อป) นักพัฒนาแอปจึงควรสร้างแอป Android ที่ปรับให้เข้ากับขนาดหน้าจอและหน้าต่างได้ทุกขนาด ไม่ว่าอุปกรณ์จะอยู่ในแนวนอนหรือแนวตั้ง กระบวนทัศน์ต่างๆ เช่น การจำกัดการวางแนวและความสามารถในการปรับขนาด มีข้อจำกัดมากเกินไปในโลกที่มีอุปกรณ์หลายเครื่องในปัจจุบัน

ไม่สนใจข้อจำกัดด้านการวางแนว ความสามารถในการปรับขนาด และสัดส่วนภาพ

สำหรับแอปที่กำหนดเป้าหมายเป็น Android 17 ขึ้นไป ข้อจำกัดด้านการวางแนว ความสามารถในการปรับขนาด และสัดส่วนภาพจะไม่มีผลกับจอแสดงผลที่มี ความกว้างที่เล็กที่สุดมากกว่า 600dp อีกต่อไป แอปจะแสดงเต็มหน้าต่างแสดงผล โดยไม่คำนึงถึงสัดส่วนภาพหรือการวางแนวที่ผู้ใช้ต้องการ และจะไม่มีการใช้แถบดำด้านข้าง

Android 17 จะนำการเลือกไม่ใช้ชั่วคราวสำหรับนักพัฒนาแอป เกี่ยวกับข้อจำกัดด้านการวางแนวและความสามารถในการปรับขนาดในอุปกรณ์หน้าจอขนาดใหญ่ที่ มีให้ใน Android 16 ออก

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

นอกจากนี้ คุณยังทดสอบลักษณะการทำงานนี้ได้โดยใช้เฟรมเวิร์กความเข้ากันได้ของแอป และเปิดใช้ Flag ความเข้ากันได้ UNIVERSAL_RESIZABLE_BY_DEFAULT

การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบที่พบบ่อย

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

ปัญหาที่พบบ่อยในอุปกรณ์พับได้แนวนอนหรือสำหรับการคำนวณสัดส่วนภาพใน สถานการณ์ต่างๆ เช่น หลายหน้าต่าง การแสดงหน้าต่างบนเดสก์ท็อป หรือจอแสดงผลที่เชื่อมต่อ คือเมื่อ ตัวอย่างกล้องปรากฏขึ้นในลักษณะยืด หมุน หรือครอบตัด ปัญหานี้มักเกิดขึ้นในอุปกรณ์หน้าจอขนาดใหญ่และอุปกรณ์แบบพับได้ เนื่องจากแอปจะถือว่าฟีเจอร์ของกล้อง (เช่น สัดส่วนภาพและการวางแนวเซ็นเซอร์) และฟีเจอร์ของอุปกรณ์ (เช่น การวางแนวอุปกรณ์และการวางแนวตามธรรมชาติ) มีความสัมพันธ์กันแบบตายตัว ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการตัวอย่างกล้อง

การอนุญาตให้หมุนอุปกรณ์จะทำให้เกิดการสร้างกิจกรรมใหม่มากขึ้น ซึ่งอาจส่งผล ให้สถานะของผู้ใช้สูญหายหากไม่ได้เก็บรักษาไว้อย่างถูกต้อง ดูวิธีบันทึกสถานะ UI อย่างถูกต้องในบันทึกสถานะ UI

รายละเอียดการใช้งาน

ระบบจะละเว้นแอตทริบิวต์ในไฟล์ Manifest และ API รันไทม์ต่อไปนี้ในอุปกรณ์หน้าจอขนาดใหญ่ ในโหมดเต็มหน้าจอและโหมดหลายหน้าต่าง

ระบบจะไม่สนใจค่าต่อไปนี้สำหรับ screenOrientation, setRequestedOrientation() และ getRequestedOrientation()

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

ในส่วนของการปรับขนาดจอแสดงผล android:resizeableActivity="false", android:minAspectRatio และ android:maxAspectRatio จะไม่มีผล

ข้อยกเว้น

ข้อจำกัดด้านการวางแนว การปรับขนาด และสัดส่วนภาพของ Android 17 จะไม่มีผลในกรณีต่อไปนี้

  • เกม (อิงตามธง android:appCategory)
  • ผู้ใช้เลือกใช้ลักษณะการทำงานเริ่มต้นของแอปอย่างชัดเจนในการตั้งค่าสัดส่วนภาพของอุปกรณ์
  • หน้าจอที่มีความกว้างที่เล็กที่สุดน้อยกว่า sw600dp