من الأفضل الاستمتاع ببعض المحتوى في وضع ملء الشاشة بدون أي مؤشرات على شريط الحالة أو شريط التنقّل. وتشمل بعض الأمثلة الفيديوهات والألعاب ومعارض الصور والكتب وشرائح العروض التقديمية. ويُشار إلى ذلك باسم الوضع الغامر. توضّح هذه الصفحة كيف يمكنك جذب المستخدمين بشكل أكبر من خلال عرض المحتوى بملء الشاشة.

يساعد "وضع الغمر" المستخدمين على تجنُّب الخروج من اللعبة بدون قصد، ويوفّر تجربة غامرة للاستمتاع بالصور والفيديوهات والكتب. ومع ذلك، يجب الانتباه إلى عدد المرات التي ينتقل فيها المستخدمون من تطبيق إلى آخر للتحقّق من الإشعارات أو إجراء عمليات بحث عشوائية أو اتّخاذ إجراءات أخرى. بما أنّ وضع العرض الغامر يؤدي إلى فقدان المستخدمين إمكانية الوصول بسهولة إلى عناصر التنقّل في النظام، لا تستخدم وضع العرض الغامر إلا عندما تتجاوز الفائدة التي تعود على تجربة المستخدم مجرد استخدام مساحة إضافية على الشاشة.
استخدِم WindowInsetsControllerCompat.hide()
لإخفاء أشرطة النظام وWindowInsetsControllerCompat.show()
لإظهارها مجددًا.
يوضّح المقتطف التالي مثالاً على ضبط زر لإخفاء أشرطة النظام وعرضها.
Kotlin
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) } }
Java
@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); }); }
يمكنك اختياريًا تحديد نوع أشرطة النظام التي تريد إخفاءها وتحديد سلوكها عندما يتفاعل المستخدم معها.
تحديد أشرطة النظام المطلوب إخفاؤها
لتحديد نوع أشرطة النظام التي تريد إخفاءها، مرِّر إحدى المَعلمات التالية إلى WindowInsetsControllerCompat.hide()
.
استخدِم
WindowInsetsCompat.Type.systemBars()
لإخفاء كل من شريطَي النظام.استخدِم
WindowInsetsCompat.Type.statusBars()
لإخفاء شريط الحالة فقط.استخدِم
WindowInsetsCompat.Type.navigationBars()
لإخفاء شريط التنقّل فقط.
تحديد سلوك أشرطة النظام المخفية
استخدِم WindowInsetsControllerCompat.setSystemBarsBehavior()
لتحديد طريقة عمل أشرطة النظام المخفية عندما يتفاعل المستخدم معها.
استخدِم
WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_TOUCH
لإظهار أشرطة النظام المخفية عند أي تفاعلات للمستخدم على الشاشة المعنية.استخدِم
WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_SWIPE
لإظهار أشرطة النظام المخفية عند تنفيذ أي إيماءات خاصة بالنظام، مثل التمرير سريعًا من حافة الشاشة التي يكون الشريط مخفيًا فيها.استخدِم
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
لإظهار أشرطة النظام المخفية مؤقتًا باستخدام إيماءات النظام، مثل التمرير سريعًا من حافة الشاشة التي يظهر منها الشريط. تتراكب أشرطة النظام المؤقتة هذه على محتوى تطبيقك، وقد تتضمّن بعض الشفافية، ويتم إخفاؤها تلقائيًا بعد انتهاء مهلة قصيرة.