รองรับหลายหน้าต่าง

ใน 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