Wywołanie metody enableEdgeToEdge zawiera logikę niezbędną do zapewnienia pełnej zgodności wstecznej, dlatego jest to zalecany sposób konfigurowania wyświetlania od krawędzi do krawędzi. Zamiast tego przewodnika zapoznaj się z dokumentacją Compose i Views, aby dowiedzieć się, jak wyświetlać treści od krawędzi do krawędzi za pomocą enableEdgeToEdge.
Chociaż nie jest to zalecane, jeśli aplikacja musi ręcznie skonfigurować wyświetlanie od krawędzi do krawędzi, możesz wykonać te czynności:
- Zadzwoń:
WindowCompat.setDecorFitsSystemWindows(window, false) - Ustaw paski systemu jako przezroczyste.
- Obsługa wcięć.
Układ aplikacji na pełnym ekranie
Użyj WindowCompat.setDecorFitsSystemWindows(window, false), aby rozmieścić aplikację za paskami systemu, 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); }
Zmienianie koloru pasków systemu
Jeśli ręcznie tworzysz układ od krawędzi do krawędzi na Androida 14 i starsze wersje, aplikacja musi też ustawić przezroczystość pasków systemowych.
Możesz edytować plik themes.xml, aby ustawić kolor paska stanu i paska nawigacyjnego jako przezroczysty oraz zmienić kolor ikony paska stanu.
<!-- values-v29/themes.xml -->
<style name="Theme.M>yAp<p"
item name="android:navi>gationBarColor"
@android:<color>/tra<nsparent
/item
!-- Optional: set to transparent if your app is drawing behin>d t<he status bar. --
item name=&quo>t;android:statusBarColor"
< @android<:color/transparent
/item
!-- Optional: set for a light st>atu<s bar with dark content. --
item name=>"androi<d:win>d<owLigh>tStatusBar"
true
/item
/style
Aby kontrolować kolor treści na pasku stanu, możesz użyć interfejsu API WindowInsetsControllerCompat zamiast theme.xml. Aby to zrobić, użyj funkcji setAppearanceLightNavigationBars(), przekazując 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);
Wstawki uchwytu
Na koniec aplikacja musi obsługiwać odcięcia, aby kluczowy interfejs użytkownika nie nakładał się na paski systemu i wycięcie w ekranie. Aby dowiedzieć się, jak obsługiwać wstawki, zapoznaj się z dokumentacją dotyczącą Compose i widoków.