Nếu ứng dụng của bạn chứa cả mã Compose và mã Khung hiển thị, thì bạn có thể cần phải nêu rõ hệ thống nào sẽ sử dụng từng phần lồng ghép và đảm bảo rằng các phần lồng ghép được gửi đến các khung hiển thị đồng cấp.
Ghi đè phần lề mặc định
Bạn có thể cần ghi đè các phần lồng ghép mặc định khi màn hình có cả mã Khung hiển thị và mã Compose trong cùng một hệ phân cấp. Trong trường hợp này, bạn cần nêu rõ thành phần nào sẽ sử dụng phần lồng ghép và thành phần nào sẽ bỏ qua phần lồng ghép.
Ví dụ: nếu bố cục ngoài cùng là bố cục Khung hiển thị Android, thì bạn nên sử dụng các phần lồng ghép trong hệ thống Khung hiển thị và bỏ qua các phần lồng ghép đó cho Compose.
Ngoài ra, nếu bố cục ngoài cùng là một thành phần kết hợp, bạn nên sử dụng các phần lồng ghép trong Compose và đệm các thành phần kết hợp AndroidView cho phù hợp.
Theo mặc định, mỗi ComposeView sẽ sử dụng tất cả các phần lồng ghép ở mức sử dụng WindowInsetsCompat. Để thay đổi hành vi mặc định này, hãy đặt AbstractComposeView.consumeWindowInsets thành false.
Gửi phần lồng ghép tương thích ngược cho các khung hiển thị
Nếu ứng dụng của bạn chứa mã Khung hiển thị, thì bạn có thể cần xác nhận rằng các khoảng lùi được gửi đến các khung hiển thị đồng cấp trên thiết bị chạy Android 10 (cấp độ API 29) trở xuống. Hãy xem hướng dẫn về Chế độ xem tràn viền để biết thêm thông tin.
Biểu tượng thanh hệ thống
Việc gọi enableEdgeToEdge đảm bảo màu sắc biểu tượng thanh hệ thống sẽ cập nhật khi giao diện thiết bị thay đổi.
Khi chuyển sang chế độ tràn viền, bạn có thể cần cập nhật màu biểu tượng thanh hệ thống theo cách thủ công để các biểu tượng này tương phản với nền của ứng dụng. Ví dụ: để tạo biểu tượng thanh trạng thái sáng:
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);