Aby włączyć wyświetlanie od krawędzi do krawędzi w aplikacji, wywołaj metodę enableEdgeToEdge
.
To powinno wystarczyć w przypadku większości aplikacji. Z tego przewodnika dowiesz się, jak włączyć technologię Edge, jeśli aplikacja musi to robić bez korzystania z enableEdgeToEdge
.
Wyświetlanie aplikacji na pełnym ekranie
Użyj narzędzia WindowCompat.setDecorFitsSystemWindows(window,
false)
, aby umieścić aplikację za paskami systemowymi, jak pokazano w tym przykładowym kodzie:
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); }
Zmień kolor pasków systemowych
W przypadku układu od krawędzi do krawędzi aplikacja musi zmienić kolory pasków systemowych, by zawartość pod nim była widoczna. Gdy aplikacja wykona ten krok, system będzie obsługiwać wizualną ochronę interfejsu użytkownika w trybie nawigacji przy użyciu gestów i w trybie przycisków.
- Tryb nawigacji przy użyciu gestów: system stosuje dynamiczne dostosowywanie kolorów, w których zawartość pasków systemowych zmienia kolor w zależności od tego, co się za nimi znajduje. W poniższym przykładzie uchwyt na pasku nawigacyjnym zmienia kolor na ciemny, gdy znajduje się nad jasnymi treściami, i na jasny, gdy znajduje się nad nimi.
- Tryb przycisku: system stosuje przezroczysty skryp za paskami systemowymi (w przypadku interfejsu API na poziomie 29 lub nowszym) lub przezroczysty pasek systemowy (w przypadku interfejsu API na poziomie 28 lub starszym).
![Obraz przedstawiający półprzezroczyste paski systemowe](https://developer.android.com/static/images/guide/navigation/e2e-translucent-scrim.png?authuser=3&hl=pl)
- Kolor zawartości paska stanu: steruje kolorem zawartości paska stanu, np. godziny i ikon.
![Obraz pokazujący kolor zawartości paska stanu](https://developer.android.com/static/images/guide/navigation/e2e-status-color.png?authuser=3&hl=pl)
W pliku themes.xml
możesz ustawić kolor paska nawigacyjnego i opcjonalnie ustawić go jako przezroczysty, a kolor jego treści na ciemny.
<!-- 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>
Możesz używać interfejsu API WindowInsetsController
bezpośrednio, ale jeśli to możliwe, zdecydowanie zalecamy korzystanie z Biblioteki pomocy WindowInsetsControllerCompat
. Do sterowania kolorem treści paska stanu możesz używać interfejsu WindowInsetsControllerCompat
API zamiast theme.xml
. Aby to zrobić, użyj funkcji setAppearanceLightNavigationBars()
, przekazując true
, aby zmienić kolor pierwszego planu nawigacji na jasny, lub false
, by przywrócić kolor domyślny.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);