Anda dapat mengaktifkan tampilan tepi-ke-tepi di aplikasi dengan memanggil
enableEdgeToEdge
Ini seharusnya cukup untuk sebagian besar aplikasi. Panduan ini menjelaskan cara mengaktifkan
layar penuh jika aplikasi Anda perlu melakukannya tanpa menggunakan enableEdgeToEdge
.
Menata letak aplikasi dalam layar penuh
Gunakan WindowCompat.setDecorFitsSystemWindows(window,
false)
untuk meletakkan aplikasi Anda di belakang kolom sistem, seperti yang ditunjukkan dalam kode berikut
contoh:
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); }
Mengubah warna bilah sistem
Saat beroperasi dalam tata letak tepi ke tepi, aplikasi Anda perlu mengubah warna kolom sistem agar konten di bawahnya terlihat. Setelah aplikasi Anda melakukan langkah ini, sistem akan menangani semua perlindungan visual antarmuka pengguna dalam mode navigasi gestur dan dalam mode tombol.
- Mode navigasi gestur: sistem menerapkan adaptasi warna dinamis dalam di mana isi bilah sistem berubah warna berdasarkan konten di belakangnya mereka. Dalam contoh berikut, handle di menu navigasi berubah menjadi warna gelap saat berada di atas konten terang dan menjadi warna terang jika berada di atas konten gelap.
- Mode tombol: sistem menerapkan efek scrim di belakang kolom sistem (untuk API level 29 atau yang lebih baru) atau sistem transparan (untuk level API 28 atau yang lebih lama).

- Warna konten status bar: mengontrol warna konten status bar, seperti seperti waktu dan ikon.

Anda dapat mengedit file themes.xml
untuk menetapkan warna menu navigasi dan,
secara opsional, untuk menetapkan status bar sebagai transparan dan warna konten status bar sebagai
gelap.
<!-- 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>
Anda dapat menggunakan
WindowInsetsController
API
secara langsung, tetapi sebaiknya gunakan Support Library
WindowInsetsControllerCompat
jika memungkinkan. Anda dapat menggunakan WindowInsetsControllerCompat
API, bukan
theme.xml
, untuk mengontrol warna konten status bar. Untuk melakukannya, gunakan fungsi
setAppearanceLightNavigationBars()
,
yang meneruskan true
untuk mengubah warna latar depan navigasi menjadi
warna terang atau false
untuk kembali ke warna default.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);