Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Anda dapat mengaktifkan layar penuh di aplikasi dengan memanggil
enableEdgeToEdge.
Hal ini sudah cukup untuk sebagian besar aplikasi. Panduan ini menjelaskan cara mengaktifkan
tampilan layar penuh jika aplikasi Anda perlu melakukannya tanpa menggunakan enableEdgeToEdge.
Saat beroperasi dalam tata letak layar penuh, 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 yang membuat warna konten kolom sistem berubah berdasarkan konten di belakangnya. Dalam contoh berikut, handle di menu navigasi berubah menjadi warna gelap saat berada di atas konten terang dan menjadi warna terang saat berada di atas konten gelap.
Gambar 1. Perubahan warna dalam mode navigasi gestur.
Mode tombol: sistem menerapkan
layar buram
di belakang kolom sistem (untuk level API 29 atau yang lebih baru) atau kolom sistem transparan (untuk level API 28 atau yang lebih lama).
Gambar 2. Scrim transparan di belakang kolom sistem.
Warna konten status bar: mengontrol warna konten status bar, seperti waktu dan ikon.
Gambar 3. Warna konten status bar.
Anda dapat mengedit file themes.xml untuk menyetel warna menu navigasi dan, secara opsional, menyetel status bar menjadi transparan dan warna konten status bar menjadi gelap.
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()
dengan meneruskan true untuk mengubah warna latar depan navigasi menjadi
warna terang atau false untuk kembali ke warna default.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-21 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-21 UTC."],[],[],null,["# Manually set up the edge-to-edge display\n\nYou can enable the edge-to-edge display in your app by calling\n[`enableEdgeToEdge`](/reference/androidx/activity/ComponentActivity#(androidx.activity.ComponentActivity).enableEdgeToEdge(androidx.activity.SystemBarStyle,androidx.activity.SystemBarStyle)).\nThis should be sufficient for most apps. This guide describes how to enable\nedge-to-edge if your app needs to do so without using `enableEdgeToEdge`.\n\nLay out your app in full screen\n-------------------------------\n\nUse [`WindowCompat.setDecorFitsSystemWindows(window,\nfalse)`](/reference/androidx/core/view/WindowCompat#setDecorFitsSystemWindows(android.view.Window,%20boolean))\nto lay out your app behind the system bars, as shown in the following code\nexample: \n\n### Kotlin\n\n```kotlin\noverride fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n WindowCompat.setDecorFitsSystemWindows(window, false)\n}\n```\n\n### Java\n\n```java\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n WindowCompat.setDecorFitsSystemWindows(getWindow(), false);\n}\n```\n\nChange the color of the system bars\n-----------------------------------\n\nWhen operating in an edge-to-edge layout, your app needs to change the colors of\nthe system bars to let the content underneath be visible. After your app\nperforms this step, the system handles all visual protection of the user\ninterface in gesture navigation mode and in button mode.\n\n- **Gesture navigation mode:** the system applies dynamic color adaptation in which the contents of the system bars change color based on the content behind them. In the following example, the handle in the navigation bar changes to a dark color when it's above light content and to a light color when it's above dark content.\n\n**Figure 1.** Color changes in gesture navigation mode.\n\n- **Button mode:** the system applies a translucent [scrim](https://m2.material.io/design/environment/surfaces.html#attributes) behind the system bars (for API level 29 or later) or a transparent system bar (for API level 28 or earlier).\n\n**Figure 2.** Translucent scrim behind system bars.\n\n- **Status bar content color:** controls the color of status bar content, such as the time and icons.\n\n**Figure 3.** Status bar content color.\n\nYou can edit the `themes.xml` file to set the color of the navigation bar and,\noptionally, to set the status bar as transparent and status bar content color as\ndark. \n\n \u003c!-- values-v29/themes.xml --\u003e\n \u003cstyle name=\"Theme.MyApp\"\u003e\n \u003citem name=\"android:navigationBarColor\"\u003e\n @android:color/transparent\n \u003c/item\u003e\n\n \u003c!-- Optional: set to transparent if your app is drawing behind the status bar. --\u003e\n \u003citem name=\"android:statusBarColor\"\u003e\n @android:color/transparent\n \u003c/item\u003e\n\n \u003c!-- Optional: set for a light status bar with dark content. --\u003e\n \u003citem name=\"android:windowLightStatusBar\"\u003e\n true\n \u003c/item\u003e\n \u003c/style\u003e\n\n| **Note:** If you prefer to disable automatic content protection on Android 10 (API level 29) or later, set [`android:enforceNavigationBarContrast`](/reference/android/view/Window#isNavigationBarContrastEnforced()), [`android:enforceStatusBarContrast`](/reference/android/view/Window#isStatusBarContrastEnforced()), or both to `false` in your theme.\n\nYou can use the\n[`WindowInsetsController`](/reference/android/view/WindowInsetsController) API\ndirectly, but we strongly recommend using the Support Library\n[`WindowInsetsControllerCompat`](/reference/androidx/core/view/WindowInsetsControllerCompat)\nwhere possible. You can use the `WindowInsetsControllerCompat` API instead of\n`theme.xml` to control the status bar's content color. To do so, use the\n[`setAppearanceLightNavigationBars()`](/reference/androidx/core/view/WindowInsetsControllerCompat#setAppearanceLightNavigationBars(boolean))\nfunction, passing in `true` to change the foreground color of the navigation to\na light color or `false` to revert to the default color. \n\n### Kotlin\n\n```kotlin\nval windowInsetsController =\n ViewCompat.getWindowInsetsController(window.decorView)\n\nwindowInsetsController?.isAppearanceLightNavigationBars = true\n```\n\n### Java\n\n```java\nWindowInsetsControllerCompat windowInsetsController =\n ViewCompat.getWindowInsetsController(getWindow().getDecorView());\nif (windowInsetsController == null) {\n return;\n}\n\nwindowInsetsController.setAppearanceLightNavigationBars(true);\n```"]]