Sistem çubuklarını karartma (kullanımdan kaldırıldı)

Bu derste, Android 4.0 (API düzeyi 14) ve sonraki sürümlerde sistem çubuklarının (yani durum ve gezinme çubuklarının) nasıl karartılacağı açıklanmaktadır. Android, önceki sürümlerde sistem çubuklarını karartmak için yerleşik bir yol sağlamaz.

Bu yaklaşımı kullandığınızda içerik yeniden boyutlandırılmaz ancak sistem çubuklarındaki simgeler görsel olarak uzaklaşır. Kullanıcı ekranın durum çubuğuna veya gezinme çubuğu alanına dokunur dokunmaz, her iki çubuk da tamamen görünür hale gelir. Bu yaklaşımın avantajı, çubukların hâlâ mevcut olması ancak ayrıntılarının belirsiz olmasıdır. Böylece, çubuklara kolay erişimden ödün vermeden sürükleyici bir deneyim oluşturulur.

Durum ve Gezinme Çubuklarını karartma

Durum ve gezinme çubuklarını, SYSTEM_UI_FLAG_LOW_PROFILE işaretini kullanarak aşağıdaki gibi karartabilirsiniz:

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);

Kullanıcı durum veya gezinme çubuğuna dokunur dokunmaz, işaret temizlenir ve çubukların soluk renkte gösterilmesine neden olur. İşaretleri temizledikten sonra, çubukları tekrar karartmak isterseniz uygulamanızın işareti sıfırlaması gerekir.

Şekil 1'de, gezinme çubuğu karartılan bir galeri resmi gösterilmektedir (Galeri uygulamasının durum çubuğunu tamamen gizlediğini ancak çubuğu karartmadığını unutmayın). Gezinme çubuğunun (resmin sağ tarafında) üzerinde gezinme denetimlerini temsil eden soluk beyaz noktalar olduğuna dikkat edin:

sistem çubukları

Şekil 1. Soluk sistem çubukları.

Şekil 2'de sistem çubukları görünen aynı galeri resmi gösterilmektedir:

sistem çubukları

2. Şekil. Görünür sistem çubukları.

Durum ve Gezinme Çubuklarını Göster

setSystemUiVisibility() ile ayarlanan işaretleri programatik olarak temizlemek isterseniz bunu aşağıdaki gibi yapabilirsiniz:

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);