在 View 和 Compose 中使用內嵌

如果應用程式同時包含 Compose 和 View 程式碼,您可能需要明確指定每個程式碼應使用的系統插邊,並確保插邊會分派至同層級檢視畫面。

覆寫預設插邊

如果畫面在同一階層中同時包含 View 和 Compose 程式碼,您可能需要覆寫預設插邊。在這種情況下,您必須明確指出哪個元件應使用插邊,哪個元件應忽略插邊。

舉例來說,如果最外層的版面配置是 Android View 版面配置,您應在 View 系統中耗用插邊,並忽略 Compose 的插邊。或者,如果最外層的版面配置是可組合項,則應在 Compose 中使用插邊,並據此填補 AndroidView 可組合項。

根據預設,每個 ComposeView 都會耗用 WindowInsetsCompat 耗用層級的所有插邊。如要變更這項預設行為,請將 AbstractComposeView.consumeWindowInsets 設為 false。

View 的回溯相容插邊調度

如果應用程式含有檢視區塊程式碼,您可能需要確認在搭載 Android 10 (API 級別 29) 以下版本的裝置上,插邊會分派至同層級檢視區塊。詳情請參閱無邊框檢視畫面指南。

系統資訊列圖示

呼叫 enableEdgeToEdge 可確保裝置主題變更時,系統資訊列圖示顏色會更新。

採用無邊框設計時,您可能需要手動更新系統資訊列圖示顏色,使其與應用程式背景形成對比。舉例來說,如要建立淺色狀態列圖示,請按照下列步驟操作:

Kotlin

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

Java

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