ใน Android 7.0 และสูงกว่า อุปกรณ์สามารถแสดงหลายแอปพร้อมกันโดยใช้หลายหน้าต่าง Android รองรับการกำหนดค่าหลายหน้าต่างสามแบบ:
- หน้าจอแยก เป็นการใช้งานหลายหน้าต่างเริ่มต้น ซึ่งมีบานหน้าต่างกิจกรรมสองบานที่ผู้ใช้สามารถวางแอปได้
- รูปแบบอิสระ ช่วยให้ผู้ใช้ปรับขนาดบานหน้าต่างกิจกรรมได้แบบไดนามิกและมีแอปมากกว่าสองแอปปรากฏบนหน้าจอ
- การแสดงภาพซ้อนภาพ (PIP) ช่วยให้อุปกรณ์ Android เล่นเนื้อหาวิดีโอในหน้าต่างเล็กๆ ในขณะที่ผู้ใช้โต้ตอบกับแอปอื่นๆ
การนำไปปฏิบัติ
การสนับสนุนหลายหน้าต่างถูกเปิดใช้งานตามค่าเริ่มต้นใน Android 7.0 และสูงกว่า หากต้องการปิดใช้งาน ให้ตั้งค่าสถานะ config_supportsMultiWindow
เป็น false
ในไฟล์ config.xml ของอุปกรณ์
หลายหน้าต่างถูกปิดใช้งานตามค่าเริ่มต้นในอุปกรณ์ RAM ต่ำทั้งหมด (อุปกรณ์ที่ประกาศ ActivityManager.isLowRam()
) อุปกรณ์ RAM ต่ำจะละเว้นค่าของแฟล็ก config_supportsMultiWindow
แยกหน้าจอ
ประสบการณ์เริ่มต้นของหลายหน้าต่างคือโหมดแบ่งหน้าจอ โดยที่ System UI จะถูกแบ่งลงตรงกลางของอุปกรณ์ในแนวตั้งหรือแนวนอน ผู้ใช้สามารถปรับขนาดหน้าต่างได้โดยการลากเส้นแบ่งจากด้านหนึ่งไปอีกด้านหนึ่งหรือจากบนลงล่าง ขึ้นอยู่กับการวางแนวของอุปกรณ์
หลังจากเปิดใช้งานการแบ่งหน้าจอแล้ว ผู้ผลิตอุปกรณ์จะสามารถเลือกเปิดใช้งานรูปแบบอิสระหรือ PIP ได้
Android 8.0 ขึ้นไปปรับปรุงการแบ่งหน้าจอโดยบีบอัด Launcher เมื่อผู้ใช้แตะ หน้าแรก สำหรับรายละเอียดการใช้งาน โปรดดู การโต้ตอบแบบแยกหน้าจอ
รูปแบบอิสระ
หลังจากเปิดใช้งานโหมดหลายหน้าต่างด้วยแฟล็ก config_supportsMultiWindow
ผู้ผลิตอุปกรณ์สามารถอนุญาตให้ใช้หน้าต่างรูปแบบอิสระได้ โหมดนี้มีประโยชน์มากที่สุดในอุปกรณ์ขนาดใหญ่ เช่น แท็บเล็ต
หากต้องการสนับสนุนโหมดรูปแบบอิสระ ให้เปิดใช้งานคุณลักษณะระบบ PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
ใน /android/frameworks/base/core/java/android/content/pm/PackageManager.java
และตั้งค่า config_freeformWindowManagement
เป็น true
ใน config.xml .
<bool name="config_freeformWindowManagement">true</bool>
รูปภาพในภาพ
หลังจากเปิดใช้งานโหมดหลายหน้าต่างด้วยแฟล็ก config_supportsMultiWindow
ผู้ผลิตอุปกรณ์จะสามารถรองรับ การแสดงภาพซ้อนภาพ ซึ่งช่วยให้ผู้ใช้รับชมวิดีโอในขณะที่เรียกดูกิจกรรมอื่นๆ ได้ แม้ว่าฟีเจอร์นี้กำหนดเป้าหมายไปที่อุปกรณ์ Android Television แต่อุปกรณ์ประเภทอื่นอาจรองรับฟีเจอร์นี้
หากต้องการสนับสนุน PIP ให้เปิดใช้งานคุณลักษณะระบบ PackageManager#FEATURE_PICTURE_IN_PICTURE
ใน /android/frameworks/base/core/java/android/content/pm/PackageManager.java
สำหรับรายละเอียดการใช้งาน PIP เพิ่มเติมสำหรับอุปกรณ์ที่ใช้ Android 8.0 และสูงกว่า โปรดดูที่หน้า การแสดงภาพซ้อนภาพ
UI ของระบบ
รองรับ System UIs มาตรฐานทั้งหมดตาม เอกสารประกอบสำหรับนักพัฒนาหลายหน้าต่าง
แอพ
หากต้องการรองรับโหมดหลายหน้าต่างสำหรับแอปที่โหลดไว้ล่วงหน้า โปรดดู เอกสารสำหรับนักพัฒนาซอฟต์แวร์ Android
การตรวจสอบ
หากต้องการตรวจสอบการใช้งานหลายหน้าต่าง ให้เรียกใช้การทดสอบ CTS ที่เกี่ยวข้อง และทำตาม คำแนะนำการทดสอบสำหรับหลายหน้าต่าง
สำหรับ Android 7.0 การทดสอบอยู่ใน /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
ใน Android 8.0 และสูงกว่า การทดสอบอยู่ใน /platform/cts/tests/framework/base/activitymanager/src/android/server/am