Gezinme çubuğunu gizleme

Bu derste, Android 4.0 (API düzeyi 14) sürümünde kullanıma sunulan gezinme çubuğunun nasıl gizleneceği açıklanmaktadır.

Bu ders gezinme çubuğunu gizlemeye odaklansa da uygulamanızı, Durum Çubuğunu Gizleme bölümünde açıklandığı gibi, aynı anda durum çubuğunu gizleyecek şekilde tasarlamanız gerekir. Gezinme ve durum çubuklarını (her iki durumda da erişilebilir) gizlemek, içeriğin görüntüleme alanının tamamını kullanmasına olanak tanıyarak daha kapsamlı bir kullanıcı deneyimi sağlar.

sistem çubukları

Şekil 1. Gezinme çubuğu.

Gezinme Çubuğunu Gizle

Gezinme çubuğunu gizlemek için SYSTEM_UI_FLAG_HIDE_NAVIGATION işaretini kullanabilirsiniz. Bu snippet hem gezinme çubuğunu hem de durum çubuğunu gizler:

Kotlin

window.decorView.apply {
    // Hide both the navigation bar and the status bar.
    // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
    // a general rule, you should design your app to hide the status bar whenever you
    // hide the navigation bar.
    systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
}

Java

View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

Aşağıdakileri göz önünde bulundurun:

  • Bu yaklaşımda, ekranda herhangi bir yere dokunulması, gezinme çubuğunun (ve durum çubuğunun) yeniden görünmesine ve görünür durumda kalmasına neden olur. Kullanıcı etkileşimi, işaretlerin silinmesine neden olur.
  • İşaretler temizlendikten sonra, çubukları tekrar gizlemek isterseniz uygulamanızın bunları sıfırlaması gerekir. Uygulamanızın uygun şekilde yanıt verebilmesi için kullanıcı arayüzü görünürlüğü değişikliklerini nasıl dinleyeceğinizi öğrenmek için Kullanıcı Arayüzü Görünürlüğü Değişikliklerine Yanıt Verme bölümüne bakın.
  • Kullanıcı arayüzü işaretlerini ayarladığınız yerler bir fark yaratır. Etkinliğinizin onCreate() yönteminde sistem çubuklarını gizlerseniz ve kullanıcı Ana Ekran'a basarsa sistem çubukları yeniden görünür. Kullanıcı etkinliği yeniden açtığında onCreate() çağrılmayacağı için sistem çubukları görünür durumda kalır. Sistem kullanıcı arayüzü değişikliklerinin, kullanıcı etkinliğinize girerken ve etkinliğinizden ayrılırken kalıcı olmasını istiyorsanız onResume() veya onWindowFocusChanged() içinde kullanıcı arayüzü işaretleri ayarlayın.
  • setSystemUiVisibility() yöntemi yalnızca bu yöntemi çağırdığınız görünüm görünürse etkili olur.
  • Görünümden çıkılması, setSystemUiVisibility() ile ayarlanan işaretlerin temizlenmesine neden olur.

İçeriğin Gezinme Çubuğunun Arkasında Görünmesini Sağlama

Android 4.1 ve sonraki sürümlerde uygulamanızın içeriğini, gezinme çubuğunun arkasında görünecek şekilde ayarlayabilirsiniz. Böylece, gezinme çubuğu gizlenip gösterilirken içerik yeniden boyutlandırılmaz. Bunun için SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION kullanabilirsiniz. Uygulamanızın kararlı bir düzende kalmasına yardımcı olmak için SYSTEM_UI_FLAG_LAYOUT_STABLE de kullanmanız gerekebilir.

Bu yaklaşımı kullandığınızda, uygulamanızın kullanıcı arayüzünün önemli bölümlerinin sistem çubuklarının tarafından örtülmemesini sağlamak sizin sorumluluğunuzda olur. Bu konuyla ilgili daha fazla ayrıntı için Durum Çubuğunu Gizleme dersine bakın.