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õ từng phần lồng ghép hệ thống sẽ sử dụng và đảm bảo rằng các phần lồng ghép được gửi đến các thành phần hiển thị đồng cấp.
Ghi đè phần lồng ghép mặc định
Bạn có thể cần ghi đè phần lồng ghép mặc định khi màn hình có cả 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õ phần lồng ghép nào sẽ được sử dụng và phần lồng ghép nào sẽ bị bỏ qua.
Ví dụ: nếu bố cục ngoài cùng của bạn là bố cục Khung hiển thị Android, 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 của bạn 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 tiêu thụ WindowInsetsCompat
. Để thay đổi hành vi mặc định này, hãy đặt ComposeView.consumeWindowInsets
thành false
.
Chuyển phát phần lồng ghép có khả năng tương thích ngược cho thành phần hiển thị
Nếu ứng dụng của bạn chứa mã Khung hiển thị, bạn có thể cần xác nhận rằng các phần lồng ghép được gửi đến các khung hiển thị đồng cấp trên các thiết bị chạy Android 10 (API cấp 29) trở xuống. Hãy xem hướng dẫn về Khung hiển thị 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 được cập nhật khi giao diện thiết bị thay đổi.
Khi hiển thị 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 để 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);