Bazı içerikler en iyi, herhangi bir gösterge olmadan tam ekranda veya gezinme çubuğuna dokunun. Videolar, oyunlar, resim galerileri, kitaplar ve sunu slaytları bu içeriklerden bazılarıdır. Buna sürükleyici mod denir. Bu sayfada, kullanıcılarla tam ekran içeriklerle nasıl daha derin bir etkileşim kurabileceğinizi görebilirsiniz.

Yoğun içerik modu, kullanıcıların oyun sırasında yanlışlıkla çıkmaktan kaçınmasına ve resim, video ve kitapların keyfini çıkarmak için etkileyici bir deneyim sunar. Ancak kullanıcıların bildirimleri kontrol etmek için uygulamalara girip çıkma sıklığına dikkat edin. veya başka işlemler yapmak için kullanır. Yoğun içerik modu Kullanıcıların sistemde gezinmeye kolay erişimi kaybetmesine neden oluyor. Yalnızca yoğun modu kullan sunduğu avantaj, fazladan ekran kullanımının ötesine geçip boşluk oluşturur.
WindowInsetsControllerCompat.hide()
kullanın
sistem çubuklarını gizleyin ve WindowInsetsControllerCompat.show()
geri getirmek için kullanılır.
Aşağıdaki snippet'te, sistem çubuklarını gizlemek ve göstermek için bir düğmeyi yapılandırma örneği gösterilmektedir.
override fun onCreate(savedInstanceState: Bundle?) { ... val windowInsetsController = WindowCompat.getInsetsController(window, window.decorView) // Configure the behavior of the hidden system bars. windowInsetsController.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE // Add a listener to update the behavior of the toggle fullscreen button when // the system bars are hidden or revealed. ViewCompat.setOnApplyWindowInsetsListener(window.decorView) { view, windowInsets -> // You can hide the caption bar even when the other system bars are visible. // To account for this, explicitly check the visibility of navigationBars() // and statusBars() rather than checking the visibility of systemBars(). if (windowInsets.isVisible(WindowInsetsCompat.Type.navigationBars()) || windowInsets.isVisible(WindowInsetsCompat.Type.statusBars())) { binding.toggleFullscreenButton.setOnClickListener { // Hide both the status bar and the navigation bar. windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) } } else { binding.toggleFullscreenButton.setOnClickListener { // Show both the status bar and the navigation bar. windowInsetsController.show(WindowInsetsCompat.Type.systemBars()) } } ViewCompat.onApplyWindowInsets(view, windowInsets) } }
@Override protected void onCreate(Bundle savedInstanceState) { ... WindowInsetsControllerCompat windowInsetsController = WindowCompat.getInsetsController(getWindow(), getWindow().getDecorView()); // Configure the behavior of the hidden system bars. windowInsetsController.setSystemBarsBehavior( WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE ); // Add a listener to update the behavior of the toggle fullscreen button when // the system bars are hidden or revealed. ViewCompat.setOnApplyWindowInsetsListener( getWindow().getDecorView(), (view, windowInsets) -> { // You can hide the caption bar even when the other system bars are visible. // To account for this, explicitly check the visibility of navigationBars() // and statusBars() rather than checking the visibility of systemBars(). if (windowInsets.isVisible(WindowInsetsCompat.Type.navigationBars()) || windowInsets.isVisible(WindowInsetsCompat.Type.statusBars())) { binding.toggleFullscreenButton.setOnClickListener(v -> { // Hide both the status bar and the navigation bar. windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()); }); } else { binding.toggleFullscreenButton.setOnClickListener(v -> { // Show both the status bar and the navigation bar. windowInsetsController.show(WindowInsetsCompat.Type.systemBars()); }); } return ViewCompat.onApplyWindowInsets(view, windowInsets); }); }
İsteğe bağlı olarak, gizlenecek sistem çubuğu türünü belirtebilir ve kullanıcı bu çubuklarla etkileşime geçtiğinde davranışlarını belirleyebilirsiniz.
Hangi sistem çubuklarının gizleneceğini belirtme
Gizlenecek sistem çubuklarının türünü belirtmek için WindowInsetsControllerCompat.hide()
parametresine aşağıdakilerden birini iletin.
WindowInsetsCompat.Type.systemBars()
kullanarak şu işlemleri yapabilirsiniz: iki sistem çubuğunu gizleyin.Yalnızca durum çubuğunu gizlemek için
WindowInsetsCompat.Type.statusBars()
simgesini kullanın.WindowInsetsCompat.Type.navigationBars()
kullanarak şu işlemleri yapabilirsiniz: yalnızca gezinme çubuğunu gizleyebilirsiniz.
Gizli sistem çubuklarının davranışını belirtin
Kullanıcı gizli sistem çubuklarıyla etkileşime geçtiğinde bu çubukların nasıl davranacağını belirtmek için WindowInsetsControllerCompat.setSystemBarsBehavior()
öğesini kullanın.
WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_TOUCH
kullanın ve kontrol panelinde herhangi bir kullanıcı etkileşiminde gizli sistem görüntüleyin.Sistem hareketlerinde gizli sistem çubuklarını göstermek için
WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_SWIPE
simgesini kullanın (ör. çubuğun gizlendiği ekran kenarından kaydırın).Sistem hareketleriyle gizli sistem çubuklarını geçici olarak göstermek için
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
simgesini kullanın (ör. çubuğun gizlendiği ekran kenarından kaydırın). Bu uygulamanızın içeriğinin üzerini kaplayan geçici sistem çubuklarının Bunlar kısa bir zaman aşımının ardından otomatik olarak gizlenir.