من الأفضل عرض بعض المحتوى بملء الشاشة بدون أي مؤشرات على شريط الحالة أو شريط التنقّل. على سبيل المثال، هناك الفيديوهات والألعاب ومعارض الصور والكتب وشرائح العروض التقديمية. ويُشار إلى ذلك باسم وضع ملء الشاشة. تعرض هذه الصفحة كيفية زيادة تفاعل المستخدمين مع المحتوى بملء الشاشة.
يساعد وضع ملء الشاشة المستخدمين في تجنُّب الخروج من اللعبة عن طريق الخطأ، ويقدّم تجربة غامرة للاستمتاع بالصور والفيديوهات والكتب. ومع ذلك، يجب الانتباه إلى عدد المرات التي ينتقل فيها المستخدمون من تطبيق إلى آخر للاطّلاع على الإشعارات أو إجراء عمليات بحث عشوائية أو اتّخاذ إجراءات أخرى. بما أنّ وضع ملء الشاشة يمنع المستخدمين من الوصول بسهولة إلى عناصر التنقّل في النظام، يجب استخدام هذا الوضع فقط عندما تكون الفائدة التي يحصل عليها المستخدم من التجربة أكبر من مجرد استخدام مساحة إضافية على الشاشة.
استخدِم 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لإظهار أشرطة النظام المخفية مؤقتًا باستخدام إيماءات النظام، مثل التمرير سريعًا من حافة الشاشة التي تم إخفاء الشريط منها. تتراكب أشرطة النظام المؤقتة هذه مع محتوى تطبيقك، وقد تتضمّن درجة معيّنة من الشفافية، ويتم إخفاؤها تلقائيًا بعد مهلة قصيرة.