Puoi attivare il display edge-to-edge nella tua app chiamando
enableEdgeToEdge
.
Questo dovrebbe essere sufficiente per la maggior parte delle app. Questa guida descrive come attivare il riquadro edge-to-edge se la tua app deve farlo senza utilizzare enableEdgeToEdge
.
Disporre l'app a schermo intero
Utilizza WindowCompat.setDecorFitsSystemWindows(window,
false)
per disporre l'app dietro le barre di sistema, come mostrato nell'esempio di codice seguente:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
Modifica il colore delle barre di sistema
Quando operi con un layout da un'estremità all'altra, la tua app deve modificare i colori delle barre di sistema per consentire la visualizzazione dei contenuti sottostanti. Dopo l'attivazione dell'app esegue questo passaggio, il sistema gestisce tutte le protezioni visive interfaccia in modalità di navigazione tramite gesti e in modalità con pulsanti.
- Modalità di navigazione tramite gesti: il sistema applica l'adattamento dinamico del colore in i cui contenuti delle barre di sistema cambiano colore in base ai contenuti sottostanti. che li rappresentano. Nell'esempio seguente, il punto di manipolazione nella barra di navigazione diventa un colore scuro quando è sopra i contenuti chiari e a un colore chiaro quando è superiore. contenuti scuri.
- Modalità con pulsanti:il sistema applica una luce trasparente tema dietro le barre del sistema (per il livello API 29 o versioni successive) o un sistema trasparente (per il livello API 28 o precedente).

- Colore dei contenuti della barra di stato: controlla il colore dei contenuti della barra di stato, ad esempio come ora e icone.

Puoi modificare il file themes.xml
per impostare il colore della barra di navigazione e, facoltativamente, impostare la barra di stato come trasparente e il colore dei contenuti della barra di stato come scuro.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
Puoi utilizzare direttamente l'API
WindowInsetsController
, ma ti consigliamo vivamente di utilizzare la libreria di supporto
WindowInsetsControllerCompat
se possibile. Puoi utilizzare l'API WindowInsetsControllerCompat
anziché
theme.xml
per controllare il colore dei contenuti della barra di stato. A questo scopo, utilizza la funzione
setAppearanceLightNavigationBars()
passando true
per cambiare il colore del primo piano della navigazione in un colore chiaro o false
per ripristinare il colore predefinito.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);