Aby włączyć wyświetlanie bez ramki w aplikacji, wywołaj funkcję
enableEdgeToEdge
.
Powinno to wystarczyć w przypadku większości aplikacji. Z tego przewodnika dowiesz się, jak włączyć tryb od krawędzi do krawędzi, jeśli Twoja aplikacja musi to zrobić bez użycia enableEdgeToEdge
.
Wyświetlanie aplikacji na pełnym ekranie
Użyj WindowCompat.setDecorFitsSystemWindows(window,
false)
, aby umieścić aplikację za paskami systemu, jak pokazano w tym przykładzie kodu:
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); }
Zmiana koloru pasków systemowych
Gdy aplikacja działa w układzie od krawędzi do krawędzi, musi zmieniać kolory pasków systemowych, aby treść pod nimi była widoczna. Po wykonaniu tego kroku przez aplikację system zajmuje się całą ochroną wizualną interfejsu użytkownika w trybie nawigacji gestami i w trybie przycisków.
- Tryb nawigacji gestami: system stosuje dynamiczne dostosowywanie kolorów, w którym zawartość pasków systemowych zmienia kolor w zależności od treści znajdujących się za nimi. W poniższym przykładzie uchwyt na pasku nawigacyjnym zmienia kolor na ciemny, gdy znajduje się nad jasną treścią, a na jasny, gdy znajduje się nad ciemną treścią.
- Tryb przycisku: system stosuje półprzezroczystą zasłonę za paskami systemowymi (w przypadku interfejsu API na poziomie 29 lub wyższym) lub przezroczysty pasek systemowy (w przypadku interfejsu API na poziomie 28 lub niższym).

- Kolor zawartości paska stanu:określa kolor zawartości paska stanu, np. godziny i ikon.

Możesz edytować plik themes.xml
, aby ustawić kolor paska nawigacyjnego i opcjonalnie ustawić przezroczystość paska stanu oraz ciemny kolor treści paska stanu.
<!-- 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 WindowInsetsController
API bezpośrednio, ale w miarę możliwości zdecydowanie zalecamy korzystanie z biblioteki pomocy WindowInsetsControllerCompat
. Zamiast interfejsu WindowInsetsControllerCompat
możesz użyć interfejsu theme.xml
API, aby kontrolować kolor treści na pasku stanu. Aby to zrobić, użyj funkcji
setAppearanceLightNavigationBars()
i przekaż wartość true
, aby zmienić kolor pierwszego planu nawigacji na jasny, lub false
, aby przywrócić domyślny kolor.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);