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 bằng chế độ nhiều cửa sổ. Android hỗ trợ 3 cấu hình nhiều cửa sổ:
- Chia đôi màn hình là phương thức triển khai chế độ nhiều cửa sổ mặc định, cung cấp hai ngăn hoạt động để người dùng có thể đặt ứng dụng.
- Freeform (Hình dạng tuỳ ý) cho phép người dùng tự động đổi kích thước ngăn hoạt động và hiển thị nhiều ứng dụng trên màn hình.
- 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 với 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 tệp config.xml của thiết bị.
Theo mặc định, chế độ nhiều cửa sổ bị tắt trên tất cả thiết bị có RAM thấp (thiết bị khai báo ActivityManager.isLowRam()
). Các thiết bị có RAM thấp sẽ 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 đó giao diện người dùng hệ thống được chia ở giữa thiết bị theo hướng dọc hoặc 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 từ bên này sang bên kia 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 chế độ hình dạng tuỳ ý 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 Trang chủ. Để biết thông tin chi tiết về cách triển khai, hãy xem phần 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 cờ config_supportsMultiWindow
, nhà sản xuất thiết bị có thể cho phép tạo cửa sổ dạng tuỳ ý. 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ế độ hình dạng tuỳ ý, hãy bật tính năng hệ thống PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
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 cờ config_supportsMultiWindow
, nhà sản xuất thiết bị có thể hỗ trợ chế độ hình trong hình, cho phép người dùng xem video trong khi duyệt qua các hoạt động khác. Mặc dù tính năng này nhắm đến các thiết bị Android Television, nhưng các loại thiết bị khác cũng 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 PIP cho các thiết bị chạy Android 8.0 trở lên,hãy xem trang Hình trong hình.
Giao diện người dùng hệ thống
Hỗ trợ tất cả giao diện người dùng hệ thống tiêu chuẩn theo tài liệu dành cho nhà phát triển về chế độ 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 việc triển khai chế độ nhiều cửa sổ, hãy chạy các kiểm thử CTS liên quan và làm theo hướng dẫn kiểm thử cho chế độ nhiều cửa sổ.
Đối với Android 7.0, các bài kiểm thử nằm trong
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
.
Trong Android 8.0 trở lên, các chương trình kiểm thử nằm trong
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
.