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

ใน Android 7.0 ขึ้นไป อุปกรณ์จะแสดงแอปหลายแอปพร้อมกันได้โดยใช้หลายหน้าต่าง Android รองรับการกำหนดค่าหลายหน้าต่าง 3 แบบ ดังนี้

  • การแยกหน้าจอเป็นการใช้งานแบบหลายหน้าต่างเริ่มต้น ซึ่งจะมีแผงกิจกรรม 2 แผงให้ผู้ใช้วางแอป
  • รูปแบบอิสระช่วยให้ผู้ใช้ปรับขนาดแผงกิจกรรมแบบไดนามิกและแสดงแอปได้มากกว่า 2 แอปบนหน้าจอ
  • การแสดงภาพซ้อนภาพ (PIP) ช่วยให้อุปกรณ์ Android สามารถเล่นเนื้อหาวิดีโอในหน้าต่างเล็กๆ ขณะผู้ใช้โต้ตอบกับแอปอื่นๆ

การใช้งาน

ระบบจะเปิดใช้การรองรับหลายหน้าต่างโดยค่าเริ่มต้นใน Android 7.0 ขึ้นไป หากต้องการปิดใช้ ให้ตั้งค่า Flag config_supportsMultiWindow เป็น false ในไฟล์ config.xml ของอุปกรณ์

ระบบจะปิดใช้หลายหน้าต่างโดยค่าเริ่มต้นในอุปกรณ์ที่มี RAM ต่ำทั้งหมด (อุปกรณ์ที่ประกาศ ActivityManager.isLowRam()) อุปกรณ์ที่มี RAM ต่ำจะไม่สนใจค่าของ Flag config_supportsMultiWindow

แยกหน้าจอ

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

หลังจากเปิดใช้การแยกหน้าจอแล้ว ผู้ผลิตอุปกรณ์จะเลือกเปิดใช้โหมดอิสระหรือ PIP ได้

Android 8.0 ขึ้นไปจะปรับปรุงการแยกหน้าจอโดยการบีบอัดตัวเปิดแอปเมื่อผู้ใช้แตะหน้าแรก ดูรายละเอียดการใช้งานได้ที่การโต้ตอบแบบแยกหน้าจอ

Freeform

หลังจากเปิดใช้โหมดหลายหน้าต่างด้วย Flag 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>
    

การแสดงภาพซ้อนภาพ

หลังจากเปิดใช้โหมดหลายหน้าต่างด้วย Flag 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 ของระบบ

รองรับ UI ของระบบมาตรฐานทั้งหมดตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เกี่ยวกับการทำงานแบบหลายหน้าต่าง

แอป

หากต้องการรองรับโหมดหลายหน้าต่างสําหรับแอปที่โหลดไว้ล่วงหน้า โปรดดูเอกสารประกอบสําหรับนักพัฒนาแอป 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