يصف هذا الدرس كيفية تعتيم أشرطة النظام (أي الحالة وشريط التنقل الأشرطة) في الإصدار Android 4.0 (المستوى 14 لواجهة برمجة التطبيقات) والإصدارات الأحدث. ولا يوفر Android طريقة مدمجة لتعتيم وأشرطة النظام في الإصدارات السابقة.
عند استخدام هذا الأسلوب، لا يتم تغيير حجم المحتوى، ولكن يتم تغيير حجم الرموز في أشرطة النظام تتراجع بصريًا. بمجرد لمس المستخدم لشريط الحالة أو منطقة شريط التنقل يصبح كلا الشريطين مرئيين بالكامل. تتمثل ميزة ذلك هو أن الأشرطة لا تزال موجودة ولكن تفاصيلها غامضة، وبالتالي مما يخلق تجربة غامرة دون التضحية بسهولة الوصول إلى الأشرطة.
تعتيم أشرطة الحالة والتنقل
يمكنك تعتيم أشرطة الحالة والتنقل باستخدام
علم SYSTEM_UI_FLAG_LOW_PROFILE
، على النحو التالي:
Kotlin
// This example uses decor view, but you can use any visible view. activity?.window?.decorView?.apply { systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE }
Java
// This example uses decor view, but you can use any visible view. View decorView = getActivity().getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE; decorView.setSystemUiVisibility(uiOptions);
وبمجرد أن يلمس المستخدم شريط الحالة أو شريط التنقل، يتم محو العلامة، مما يتسبب في إلغاء تثبيت الأشرطة. بعد محو العلامة، يجب إعادة ضبط التطبيق. إذا كنت تريد تعتيم الأشرطة مرة أخرى.
يُظهر الشكل 1 صورة معرض يتم فيها تعتيم شريط التنقل (لاحظ أن تطبيق المعرض لإخفاء شريط الحالة تمامًا؛ فهو لا يخفيه). لاحظ أن شريط التنقل (يمين جانب الصورة) بها نقاط بيضاء خافتة لتمثيل عناصر التحكم في التنقل:
يعرض الشكل 2 نفس صورة المعرض، ولكن مع أشرطة النظام المعروضة:
الكشف عن أشرطة الحالة والتنقل
إذا كنت تريد محو العلامات التي تم ضبطها آليًا باستخدام
setSystemUiVisibility()
، يمكنك إجراء ذلك
على النحو التالي:
Kotlin
activity?.window?.decorView?.apply { // Calling setSystemUiVisibility() with a value of 0 clears // all flags. systemUiVisibility = 0 }
Java
View decorView = getActivity().getWindow().getDecorView(); // Calling setSystemUiVisibility() with a value of 0 clears // all flags. decorView.setSystemUiVisibility(0);