Gezinme çubuğunu gizleme

Bu derste, önceki bölümde anlatıldığı gibi, gezinme çubuğunun nasıl gizleneceği Android 4.0 (API düzeyi 14).

Bu ders, gizli bilgileri gizlemeye odaklansa da, kullanmak istiyorsanız, uygulamanızı durum çubuğunu gizleyecek şekilde tasarlamanız Durum Çubuğunu Gizleme bölümünde açıklandığı gibi aynı anda güncellenmelidir. Gezinme ve durum çubuklarını gizleme (yine de kolayca erişilebilir durumda tutma) İçeriğin, görüntülü reklam alanının tamamını kullanmasına olanak tanıyarak daha ilgi çekici en iyi uygulamaları paylaşacağız.

sistem çubukları

Şekil 1. Gezinme çubuğu.

Gezinme Çubuğunu Gizle

Gezinme çubuğunu gizlemek için SYSTEM_UI_FLAG_HIDE_NAVIGATION işareti. Bu snippet her ikisini de gizler gezinme çubuğu ve durum çubuğu:

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 dokunduğunuzda gezinme çubuğu (ve durum çubuğunda görünür hale getirebilirsiniz. Kullanıcı etkileşimi işaretlerin temizlenir.
  • İşaretler temizlendikten sonra, çubukları tekrar gizlemek istediğinizi seçin. Ayrıntılı bilgi için Kullanıcı Arayüzü Görünürlüğü Değişikliklerine Yanıt Verme Böylece, uygulamanızın bunu yapabilmesi için kullanıcı arayüzü görünürlüğü uygun tepkiler vermesi gerekir.
  • Kullanıcı arayüzü işaretlerini ayarladığınız yer fark yaratır. Etkinliğinizdeki sistem çubuklarını onCreate() yöntemini kullanıyorsanız ve kullanıcı Ana Sayfa'ya bastığında sistem çubukları yeniden görünür. Kullanıcı etkinliği yeniden açtığında onCreate() çağrılmayacağından sistem çubukları görünür olmaya devam eder. Sistem kullanıcı arayüzünün ve etkinliğiniz için gezinmeye devam ederken mevcut olan kullanıcı arayüzü işaretlerini onResume(). veya onWindowFocusChanged().
  • Yalnızca setSystemUiVisibility() yöntemi çağrıyı yaptığınız görünüm görünür durumdaysa etkili olur.
  • Görünümden çıkılması işaretlemelere neden olur setSystemUiVisibility() ile ayarla var.

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

Android 4.1 ve daha sonraki sürümlerde, uygulamanızın içeriğini, uygulamanızın içeriğini içeriğin yeniden boyutlandırılmaması için, gezinme çubuğunu programlardır. Bunu yapmak için, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION Şunları da kullanmanız gerekebilir: SYSTEM_UI_FLAG_LAYOUT_STABLE kullanmaya devam edebilirsiniz.

Bu yaklaşımı kullandığınızda, risklerin toplanması gereken kritik kısımların kullanıcı arayüzü sistem çubuklarıyla kapatılmıyor. Daha fazla Bu konunun tartışması için bkz. Durum Çubuğunu gizleme dersi.