ใช้ส่วนตัดในมุมมองและเขียน

หากแอปมีทั้งโค้ด Compose และโค้ด View คุณอาจต้องระบุอย่างชัดเจนว่าแต่ละโค้ดควรใช้ Inset ของระบบใด และตรวจสอบว่าได้ส่ง Inset ไปยัง View ที่อยู่ระดับเดียวกัน

การลบล้าง Inset เริ่มต้น

คุณอาจต้องลบล้าง Inset เริ่มต้นเมื่อหน้าจอมีทั้งโค้ด View และโค้ด Compose ในลำดับชั้นเดียวกัน ในกรณีนี้ คุณต้องระบุอย่างชัดเจนว่าโค้ดใดควรใช้ Inset และโค้ดใดควรละเว้น Inset

ตัวอย่างเช่น หากเลย์เอาต์ด้านนอกสุดเป็นเลย์เอาต์ Android View คุณควรใช้ Inset ในระบบ View และละเว้น Inset สำหรับ Compose หรือหากเลย์เอาต์ด้านนอกสุดเป็น Composables คุณควรใช้ Inset ใน Compose และเพิ่มระยะห่างภายในให้กับ Composables AndroidView ตามความเหมาะสม

โดยค่าเริ่มต้น ComposeView แต่ละรายการจะใช้ Inset ทั้งหมดที่ระดับการใช้ WindowInsetsCompat หากต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้ ให้ตั้งค่า AbstractComposeView.consumeWindowInsets เป็น false

การส่ง Inset ที่เข้ากันได้แบบย้อนหลังสำหรับ View

หากแอปมีโค้ด View คุณอาจต้องยืนยันว่าได้ส่ง Inset ไปยัง View ที่อยู่ระดับเดียวกันในอุปกรณ์ที่ใช้ Android 10 (ระดับ API 29) หรือต่ำกว่า ดูข้อมูลเพิ่มเติมได้ที่ คู่มือ View แบบขอบจรดขอบ

ไอคอนแถบระบบ

การเรียก enableEdgeToEdge จะช่วยให้มั่นใจได้ว่าสีไอคอนแถบระบบจะอัปเดตเมื่อธีมของอุปกรณ์มีการเปลี่ยนแปลง

ขณะที่ใช้แบบขอบจรดขอบ คุณอาจต้องอัปเดตสีไอคอนแถบระบบด้วยตนเองเพื่อให้สีไอคอนตัดกับพื้นหลังของแอป ตัวอย่างเช่น วิธีสร้างไอคอนแถบสถานะสีอ่อน

Kotlin

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Java

WindowCompat.getInsetsController(window, window.getDecorView())
    .setAppearanceLightStatusBars(false);