如果應用程式同時含有 Compose 和 View 程式碼,您可能需要明確指出每個程式碼應使用哪些系統內嵌,並確保內嵌會調度至同層級檢視畫面。
覆寫預設內嵌
如果畫面在同一個階層中同時含有 View 和 Compose 程式碼,您可能需要覆寫預設內嵌項目。在這種情況下,您必須明確指出哪一個應使用內嵌邊距,哪一個應忽略內嵌邊距。
舉例來說,如果最外層版面配置是 Android View 版面配置,您應在 View 系統中使用內嵌,並忽略 Compose 的內嵌。或者,如果最外層的版面配置是可組合函式,您應在 Compose 中使用內嵌,並據此為 AndroidView
可組合函式填充。
根據預設,每個 ComposeView
都會消耗 WindowInsetsCompat
層級的所有內嵌項目。如要變更這個預設行為,請將 ComposeView.consumeWindowInsets
設為 false
。
為檢視畫面提供回溯相容的內嵌調度作業
如果應用程式包含 View 程式碼,您可能需要確認在搭載 Android 10 (API 級別 29) 以下版本的裝置上,邊框是否會調度至同層級 View。詳情請參閱從邊到邊的 View 指南。
系統列圖示
呼叫 enableEdgeToEdge
可確保在裝置主題變更時更新系統列圖示顏色。
在採用無邊框設計時,您可能需要手動更新系統列圖示顏色,讓圖示與應用程式背景形成對比。例如,如要建立淺色狀態列圖示:
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);