Meredupkan kolom sistem (tidak digunakan lagi)

Tutorial ini menjelaskan cara meredupkan bilah sistem (yaitu, status dan navigasi bar) di Android 4.0 (level API 14) dan yang lebih tinggi. Android tidak menyediakan cara bawaan untuk meredupkan bilah sistem pada versi sebelumnya.

Bila Anda menggunakan pendekatan ini, konten tidak mengubah ukuran, tetapi ikon di bilah sistem menyusut secara visual. Segera setelah pengguna menyentuh bilah status atau bilah navigasi pada layar, kedua bilah menjadi terlihat sepenuhnya. Keuntungan dari pendekatannya adalah bahwa batang tersebut masih ada tetapi detailnya tidak jelas, sehingga menciptakan pengalaman imersif tanpa mengorbankan akses mudah ke bar.

Meredupkan Status Bar dan Menu Navigasi

Anda dapat meredupkan status bar dan menu navigasi menggunakan SYSTEM_UI_FLAG_LOW_PROFILE, sebagai berikut:

Kotlin

// This example uses decor view, but you can use any visible view.
activity?.window?.decorView?.apply {
    systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE
}

Java

// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);

Segera setelah pengguna menyentuh {i>status<i} atau bilah navigasi, penanda akan dihapus, yang menyebabkan batang menjadi tidak berkedip. Setelah tanda dihapus, aplikasi perlu direset jika Anda ingin meredupkan bilah lagi.

Gambar 1 menunjukkan gambar galeri dengan bilah navigasi diredupkan (perhatikan bahwa aplikasi Galeri sepenuhnya menyembunyikan {i>status bar<i}; tidak meredupkannya). Perhatikan bahwa bilah navigasi (kanan sisi gambar) memiliki titik putih samar di atasnya untuk mewakili kontrol navigasi:

kolom sistem

Gambar 1. Bar sistem diredupkan.

Gambar 2 menunjukkan gambar galeri yang sama, tetapi kolom sistem ditampilkan:

kolom sistem

Gambar 2. Bar sistem terlihat.

Membuka Status Bar dan Menu Navigasi

Jika Anda ingin secara terprogram menghapus tanda yang ditetapkan dengan setSystemUiVisibility(), Anda bisa melakukannya sebagai berikut:

Kotlin

activity?.window?.decorView?.apply {
    // Calling setSystemUiVisibility() with a value of 0 clears
    // all flags.
    systemUiVisibility = 0
}

Java

View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);