หากแอปมีทั้งโค้ด Compose และ View คุณอาจต้องระบุอย่างชัดเจน ว่าแต่ละรายการควรใช้ Inset ของระบบใด และตรวจสอบว่าได้ส่ง Inset ไปยัง View ที่เป็นระดับเดียวกัน
การลบล้างระยะขอบเริ่มต้น
คุณอาจต้องลบล้างระยะขอบเริ่มต้นเมื่อหน้าจอมีทั้ง View และโค้ด Compose ในลำดับชั้นเดียวกัน ในกรณีนี้ คุณต้องระบุอย่างชัดเจนว่า เลย์เอาต์ใดควรใช้ระยะขอบ และเลย์เอาต์ใดควรละเว้น
เช่น หากเลย์เอาต์ชั้นนอกสุดเป็นเลย์เอาต์ Android View คุณควร
ใช้ Inset ในระบบ View และไม่สนใจ Inset สำหรับ Compose
หรือหากเลย์เอาต์ชั้นนอกสุดเป็น Composable คุณควรใช้
ระยะขอบใน Compose และเว้นที่ว่างสำหรับ Composable AndroidView
ตามนั้น
โดยค่าเริ่มต้น ComposeView
แต่ละรายการจะใช้ขอบทั้งหมดที่ระดับการใช้งาน WindowInsetsCompat
หากต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้ ให้ตั้งค่า
AbstractComposeView.consumeWindowInsets
เป็น false
การจัดส่งการแทรกที่เข้ากันได้แบบย้อนหลังสำหรับมุมมอง
หากแอปมีโค้ด Views คุณอาจต้องยืนยันว่ามีการส่ง Insets ไปยัง View ที่อยู่ระดับเดียวกันในอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) หรือต่ำกว่า ดูข้อมูลเพิ่มเติมได้ที่ คู่มือเกี่ยวกับมุมมองแบบขอบจรดขอบ
ไอคอนแถบระบบ
การเรียกใช้ enableEdgeToEdge
จะช่วยให้สีของไอคอนแถบระบบอัปเดตเมื่อธีมของอุปกรณ์มีการเปลี่ยนแปลง
ขณะที่ไปแบบขอบจรดขอบ คุณอาจต้องอัปเดตสีไอคอนแถบระบบด้วยตนเองเพื่อให้ตัดกับพื้นหลังของแอป เช่น หากต้องการสร้างไอคอนแถบสถานะสีอ่อน ให้ทำดังนี้
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);