Hỗ trợ nhiều cửa sổ

Trong Android 7.0 trở lên, các thiết bị có thể hiển thị nhiều ứng dụng cùng lúc thông qua chế độ nhiều cửa sổ. Android hỗ trợ 3 cấu hình nhiều cửa sổ:

  • Chia màn hình là chế độ nhiều cửa sổ mặc định trong đó cung cấp 2 ngăn hoạt động để người dùng có thể đặt của chúng tôi.
  • Chế độ tự do cho phép người dùng linh động thay đổi kích thước các ngăn hoạt động và hiển thị nhiều hơn hai ứng dụng trên màn hình.
  • Tính năng Hình trong hình (PIP) cho phép các thiết bị Android phát nội dung video trong một cửa sổ nhỏ trong khi người dùng tương tác các ứng dụng khác.

Triển khai

Tính năng hỗ trợ nhiều cửa sổ được bật theo mặc định trong Android 7.0 trở lên. Để tắt tính năng này, hãy đặt cờ config_supportsMultiWindow thành false trong thiết bị của bạn Tệp config.xml.

Theo mặc định, chế độ nhiều cửa sổ bị tắt trên tất cả các thiết bị có dung lượng RAM thấp (những thiết bị khai báo ActivityManager.isLowRam()). Thiết bị có dung lượng RAM thấp bỏ qua giá trị của cờ config_supportsMultiWindow.

Chia đôi màn hình

Trải nghiệm mặc định của chế độ nhiều cửa sổ là chế độ chia đôi màn hình, trong đó Hệ thống Giao diện người dùng được chia thành phần giữa của thiết bị theo chiều dọc hoặc chiều ngang. Người dùng có thể đổi kích thước cửa sổ bằng cách kéo đường phân chia cạnh nhau hoặc từ trên xuống dưới, tuỳ thuộc vào hướng của thiết bị.

Sau khi bật chế độ chia đôi màn hình, nhà sản xuất thiết bị có thể chọn bật dạng tự do hoặc PIP.

Android 8.0 trở lên cải thiện chế độ chia đôi màn hình bằng cách nén trình chạy khi người dùng nhấn vào Home (Màn hình chính). Để biết thông tin chi tiết về cách triển khai, hãy xem Hoạt động tương tác trên màn hình chia đôi.

Freeform

Sau khi bật chế độ nhiều cửa sổ bằng config_supportsMultiWindow, nhà sản xuất thiết bị có thể cho phép kết xuất cửa sổ dạng tự do. Chế độ này hữu ích nhất trên các thiết bị lớn hơn. chẳng hạn như máy tính bảng.

Để hỗ trợ chế độ dạng tự do, bật PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT hệ thống tính năng trong /android/frameworks/base/core/java/android/content/pm/PackageManager.java và đặt config_freeformWindowManagement thành true trong config.xml.

    <bool name="config_freeformWindowManagement">true</bool>
    

Hình trong hình

Sau khi bật chế độ nhiều cửa sổ bằng config_supportsMultiWindow, nhà sản xuất thiết bị có thể hỗ trợ hình trong hình, cho phép người dùng xem trong khi duyệt qua các hoạt động khác. Mặc dù tính năng này nhắm đến Thiết bị Android TV, các loại thiết bị khác có thể hỗ trợ tính năng này.

Để hỗ trợ PIP, hãy bật Tính năng hệ thống PackageManager#FEATURE_PICTURE_IN_PICTURE trong /android/frameworks/base/core/java/android/content/pm/PackageManager.java

Để biết thêm thông tin chi tiết về cách triển khai tính năng PIP cho các thiết bị chạy Android 8.0 và cao hơn,hãy xem phần Hình trong hình .

Giao diện người dùng hệ thống

Hỗ trợ tất cả các giao diện người dùng hệ thống chuẩn theo Tài liệu dành cho nhà phát triển nhiều cửa sổ.

Ứng dụng

Để hỗ trợ chế độ nhiều cửa sổ cho các ứng dụng được tải trước, hãy tham khảo Tài liệu dành cho nhà phát triển Android.

Xác nhận kết quả

Để xác thực cách triển khai chế độ nhiều cửa sổ, hãy chạy CTS liên quan và làm theo hướng dẫn kiểm thử chế độ nhiều cửa sổ.

Đối với Android 7.0, các bài kiểm thử đang ở trong /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts. Trong Android 8.0 trở lên, các bài kiểm thử nằm trong /platform/cts/tests/framework/base/activitymanager/src/android/server/am.