Để triển khai trải nghiệm người dùng nhất quán và chất lượng cao, đồng thời ngăn chặn các vấn đề dẫn đến lỗi Bộ kiểm tra tính tương thích (CTS), hãy triển khai các nguyên tắc cốt lõi của WindowManager (WM) được mô tả tại đây. Các nguyên tắc này áp dụng cho:
Các bản phát hành Android sử dụng kiến trúc nhiều cửa sổ, bắt đầu từ Android 14 và tiếp tục trong Android 15 với Giao diện người dùng có thể điều chỉnh quy mô.
Giao diện người dùng có thể điều chỉnh quy mô của Android và các cách triển khai tuỳ chỉnh của riêng bạn
Bằng cách áp dụng các nguyên tắc này, bạn sẽ chủ động tránh được hầu hết các vấn đề về việc tuân thủ CTS và kiểm thử chức năng.
Thuật ngữ
- bất biến
- Một điều kiện logic vẫn đúng trong suốt quá trình thực thi một ứng dụng dẫn đến tính toàn vẹn về cấu trúc. Một bất biến đóng vai trò là quy tắc về ranh giới.
- hoạt động đặc biệt
- Còn được gọi là hoạt động Giao diện người dùng tự động hoặc hoạt động Giao diện người dùng hệ thống, hoạt động quan trọng này của ứng dụng có một vùng riêng trên màn hình luôn hiển thị hoặc hiển thị hầu hết thời gian, ngay cả khi người dùng nhấn vào Màn hình chính,chẳng hạn như một ứng dụng điều hướng chính hoặc ứng dụng cụm.
- hoạt động tiêu chuẩn
- Bất kỳ hoạt động tiêu chuẩn nào của ứng dụng không quan trọng đối với giao diện người dùng cốt lõi của hệ thống, chẳng hạn như một ứng dụng đa phương tiện của bên thứ ba được khởi chạy từ lưới ứng dụng.
Nguyên tắc WM
Để tối đa hoá việc tuân thủ CTS, hãy áp dụng các nguyên tắc này trong quá trình triển khai WM.
Sử dụng cấu hình ổn định khi khởi chạy hoạt động
Khởi chạy mọi hoạt động tiêu chuẩn mới bằng một quá trình chuyển đổi WM duy nhất đặt vị trí, kích thước và mật độ cuối cùng của hoạt động đó. Bạn không được kích hoạt quá trình chuyển đổi thứ hai làm thay đổi cấu hình cửa sổ của tác vụ cơ bản (chẳng hạn như kích thước hoặc mật độ) ngay sau quá trình chuyển đổi đầu tiên, vì điều này sẽ gây ra thay đổi cấu hình ngay sau khi hoạt động được tạo.
Chuyển các hoạt động tiêu chuẩn sang trạng thái đã dừng
Khi người dùng chuyển đến tác vụ hoặc cảnh màn hình chính, bạn phải chuyển tất cả các hoạt động tiêu chuẩn đang chạy sang trạng thái đã dừng để duy trì vòng đời ứng dụng Android có thể dự đoán được theo yêu cầu của các bài kiểm thử CTS.
Ngăn chặn việc che khuất nội dung hoạt động tiêu chuẩn
Không vẽ bất kỳ thành phần trang trí tuỳ chỉnh hoặc thành phần giao diện người dùng nào cản trở nội dung của một hoạt động tiêu chuẩn. Nếu bạn vẽ lớp phủ tuỳ chỉnh (chẳng hạn như thanh điều khiển khí hậu tuỳ chỉnh), bạn phải báo cáo các kích thước cho hệ thống bằng phần chèn SystemOverlay. Đối với Android 15 trở lên, hãy sử dụng DecorPanel trong Giao diện người dùng có thể điều chỉnh quy mô.
Ẩn lớp phủ theo yêu cầu ở chế độ hiển thị tối đa
Khi một ứng dụng yêu cầu chế độ hiển thị tối đa, bạn phải ẩn mọi thành phần giao diện người dùng tuỳ chỉnh tạm thời và xoá phần chèn SystemOverlay của chúng. Các thành phần cản trở liên tục sẽ gây trở ngại cho kỳ vọng về pixel của ứng dụng.
Chỉ áp dụng góc tròn ở cấp độ hiển thị
Chỉ áp dụng góc tròn ở cấp độ hiển thị bằng cách sử dụng các cấu hình tài nguyên thích hợp trong frameworks/base. Không áp dụng các góc tròn tuỳ ý cho bề mặt của một hoạt động tiêu chuẩn.
Việc này sẽ gây trở ngại cho các bài kiểm thử phần tử trên giao diện người dùng. Để tạm thời, bạn có thể chỉ định cùng một bán kính góc tròn cho màn hình như khi bạn áp dụng cho bề mặt của hoạt động tiêu chuẩn.
Duy trì kích thước ứng dụng theo yêu cầu ở chế độ hiển thị tối đa
Khi một ứng dụng yêu cầu chuyển sang chế độ hiển thị tối đa, đừng đổi kích thước cửa sổ của ứng dụng. Việc này sẽ kích hoạt thay đổi cấu hình gây gián đoạn. Thay vào đó, để tối đa hoá ứng dụng, hãy cung cấp nút toàn màn hình do người dùng kiểm soát.