الفرق بين المراجعتين لصفحة: «Cordova/cordova plugin statusbar»
لا ملخص تعديل |
تحديث |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:إضافة شريط الحالة في كوردوفا}}</noinclude> | <noinclude>{{DISPLAYTITLE:إضافة شريط الحالة في كوردوفا}}</noinclude> | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: Plugin]] | [[تصنيف: Cordova Plugin]] | ||
يوفر الكائن <code>StatusBar</code> بعض الدوال التي يمكن استخدامها لتخصيص شريط الحالة في منصتي iOS و أندرويد. | يوفر الكائن <code>StatusBar</code> بعض الدوال التي يمكن استخدامها لتخصيص شريط الحالة في منصتي iOS و أندرويد. | ||
== التثبيت == | |||
تتطلب هذه الطريقة في التثبيت | تتطلب هذه الطريقة في التثبيت الإصدار 5.0 من كوروفا وما بعده: | ||
<syntaxhighlight lang="shell">cordova plugin add cordova-plugin-statusbar</syntaxhighlight> | <syntaxhighlight lang="shell">cordova plugin add cordova-plugin-statusbar</syntaxhighlight> | ||
سطر 11: | سطر 11: | ||
<syntaxhighlight lang="shell">cordova plugin add org.apache.cordova.statusbar</syntaxhighlight> | <syntaxhighlight lang="shell">cordova plugin add org.apache.cordova.statusbar</syntaxhighlight> | ||
من الممكن أيضًا تثبيت هذه الإضافة عبر مستودع git مباشرة (إلا أنه غير مستقر) | من الممكن أيضًا تثبيت هذه الإضافة عبر مستودع git مباشرة (إلا أنه غير مستقر): | ||
<syntaxhighlight lang="shell">cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git</syntaxhighlight> | <syntaxhighlight lang="shell">cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git</syntaxhighlight> | ||
== تفضيلات == | |||
=== الملف <code>Config.xml</code>=== | |||
* <code>StatusBarOverlaysWebView</code>: (قيمة | * <code>StatusBarOverlaysWebView</code>: (قيمة منطقية؛ القيمة الافتراضية هي <code>true</code>) في منصة iOS، هذا الخيار يجعل شريط الحالة يركب (overlay) على [[Cordova/webviews|العارض]] أو العكس عند بدء التشغيل. | ||
<syntaxhighlight lang="xml"><preference name="StatusBarOverlaysWebView" value="true" /></syntaxhighlight> | <syntaxhighlight lang="xml"><preference name="StatusBarOverlaysWebView" value="true" /></syntaxhighlight> | ||
* <code>StatusBarBackgroundColor</code>: (سلسلة نصية تمثل لونًا | * <code>StatusBarBackgroundColor</code>: (سلسلة نصية تمثل لونًا ست عشريًا [color hex]؛ لا توجد قيمة افتراضية). في منصة iOS، يضبط هذا الخيار لون خلفية شريط الحالة، إذ يعطيها اللون المُتضمّن في السلسلة النصية الست عشرية (مثل <code>#RRGGBB</code>) عند بدء التشغيل. إذا لم يتم تعيين هذه القيمة، فسيكون لون الخلفية شفافًا. | ||
<syntaxhighlight lang="xml"><preference name="StatusBarBackgroundColor" value="#000000" /></syntaxhighlight> | <syntaxhighlight lang="xml"><preference name="StatusBarBackgroundColor" value="#000000" /></syntaxhighlight> | ||
* <code>StatusBarStyle</code>: (نمط شريط | * <code>StatusBarStyle</code>: (نمط شريط الحالة؛ القيمة الافتراضية هي <code>lightcontent</code>). في منصة iOS 7، يعيّن هذا الخيار نمط شريط الحالة. الخيارات الافتراضية المتاحة هي: <code>lightcontent</code> و <code>blacktranslucent</code> و <code>blackopaque</code>. | ||
<syntaxhighlight lang="xml"><preference name="StatusBarStyle" value="lightcontent" /></syntaxhighlight> | <syntaxhighlight lang="xml"><preference name="StatusBarStyle" value="lightcontent" /></syntaxhighlight> | ||
* <code>StatusBarDefaultScrollToTop</code>: (قيمة | * <code>StatusBarDefaultScrollToTop</code>: (قيمة منطقية؛ القيمة الافتراضية تساوي <code>false</code>). في نظام التشغيل iOS، يتيح هذا الخيار ل[[Cordova/webviews|عارض]] كوروفا استخدام السلوك الافتراضي في التمرير إلى الأعلى (scroll-to-top). القيمة الافتراضية هي <code>false</code>، ما يعني أنّه يمكنك الاستماع إلى الحدث "<code>statusTap</code>" (الموضح أدناه) وتخصيص السلوك. | ||
<syntaxhighlight lang="xml"><preference name="StatusBarDefaultScrollToTop" value="false" /></syntaxhighlight> | <syntaxhighlight lang="xml"><preference name="StatusBarDefaultScrollToTop" value="false" /></syntaxhighlight> | ||
===ملاحظات خاصة بمنصة أندرويد === | |||
توصي إرشادات | توصي إرشادات منصة أندرويد من الإصدار 5 وما بعده، بأن يكون لون شريط الحالة مختلفًا عن لون التطبيق الرئيسي (بخلاف لون شريط الحالة المُوحّد في العديد من تطبيقات iOS 7)، لذلك قد ترغب في تعيين لون شريط الحالة في وقت التشغيل عبر التابعين <code>[[Cordova/cordova plugin statusbar#StatusBar.backgroundColorByHexString|StatusBar.backgroundColorByHexString]]</code> و <code>[[Cordova/cordova plugin statusbar#StatusBar.backgroundColorByName|StatusBar.backgroundColorByName]]</code>. فيما يلي إحدى الطرق الممكنة للقيام بذلك: | ||
<syntaxhighlight lang="javascript">if (cordova.platformId == 'android') { | <syntaxhighlight lang="javascript">if (cordova.platformId == 'android') { | ||
StatusBar.backgroundColorByHexString("#333"); | StatusBar.backgroundColorByHexString("#333"); | ||
}</syntaxhighlight> | }</syntaxhighlight>من الممكن أيضًا جعل شريط الحالة شبه شفاف. يستخدم Android قيما لونية ست عشرية من النوع ARGB، والتي تُنسّق على هيئة <code>#AARRGGBB</code>. يمثل الزوج الأول من الأحرف <code>AA</code> قناة ألفا (alpha channel). يجب عليك تحويل قيم العتامة (opacity) العشرية إلى قيمة ست عشرية. يمكنك قراءة المزيد من [https://stackoverflow.com/questions/5445085/understanding-colors-on-android-six-characters/11019879#11019879 هنا]. | ||
هذا مثال على شريط حالة أسود مع عتامة 20%:<syntaxhighlight lang="javascript">if (cordova.platformId == 'android') { | |||
StatusBar.overlaysWebView(true); | |||
StatusBar.backgroundColorByHexString('#33000000'); | |||
}</syntaxhighlight> | |||
خلال وقت التشغيل، يمكنك استخدام الدالة [[Cordova/cordova plugin statusbar#StatusBar.hide|StatusBar.hide]] أدناه، ولكن إذا كنت تريد إخفاء شريط الحالة عند بدء تشغيل التطبيق، فعليك تعديل الملف <code>Info.plist</code> الخاص بتطبيقك. | == إخفاء شريط الحالة عند بدء التشغيل == | ||
خلال وقت التشغيل، يمكنك استخدام الدالة [[Cordova/cordova plugin statusbar#StatusBar.hide|<code>StatusBar.hide</code>]] أدناه، ولكن إذا كنت تريد إخفاء شريط الحالة عند بدء تشغيل التطبيق، فعليك تعديل الملف <code>Info.plist</code> الخاص بتطبيقك. | |||
أضف أو عدّل هاتين الخاصيتين إذا لم تكونا موجودتين. عيّن <code>"Status bar is initially hidden"</code> إلى القيمة <code>"YES"</code> وعّين <code>"View controller-based status bar appearance"</code> إلى القيمة <code>"NO"</code>. إذا عدّلتها يدويًا من دون استخدام بيئة العمل Xcode، فستكون المفاتيح والقيم كما يلي: | أضف أو عدّل هاتين الخاصيتين إذا لم تكونا موجودتين. عيّن <code>"Status bar is initially hidden"</code> إلى القيمة <code>"YES"</code> وعّين <code>"View controller-based status bar appearance"</code> إلى القيمة <code>"NO"</code>. إذا عدّلتها يدويًا من دون استخدام بيئة العمل Xcode، فستكون المفاتيح والقيم كما يلي: | ||
سطر 41: | سطر 46: | ||
<false/></syntaxhighlight> | <false/></syntaxhighlight> | ||
== | ==<code>StatusBar</code>== | ||
على الرغم من أنّ هذا الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث <code>[[Cordova/events#deviceready|deviceready]]</code>. | تعرِّف هذه الإضافة كائنًا عامًّا هو <code>StatusBar</code>. على الرغم من أنّ هذا الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث <code>[[Cordova/events#deviceready|deviceready]]</code>. <syntaxhighlight lang="javascript">document.addEventListener("deviceready", onDeviceReady, false); | ||
<syntaxhighlight lang="javascript">document.addEventListener("deviceready", onDeviceReady, false); | |||
function onDeviceReady() { | function onDeviceReady() { | ||
console.log(StatusBar); | console.log(StatusBar); | ||
}</syntaxhighlight> | }</syntaxhighlight>التوابع التي يمكن استعمالها مع هذا الكائن هي: | ||
* <code>StatusBar.overlaysWebView</code> | * <code>StatusBar.overlaysWebView</code> | ||
* <code>StatusBar.styleDefault</code> | * <code>StatusBar.styleDefault</code> | ||
سطر 59: | سطر 61: | ||
* <code>StatusBar.hide</code> | * <code>StatusBar.hide</code> | ||
* <code>StatusBar.show</code> | * <code>StatusBar.show</code> | ||
الخاصيات التي يمكن استعمالها مع هذا الكائن هي: | |||
* <code>StatusBar.isVisible</code> | * <code>StatusBar.isVisible</code> | ||
الأحداث التي يمكن استعمالها مع هذا الكائن هي: | |||
* <code>statusTap</code> | * <code>statusTap</code> | ||
==<code>StatusBar.overlaysWebView</code>== | ==<code>StatusBar.overlaysWebView</code>== | ||
يجعل هذا التابعُ شريطَ الحالة إما يركب (overlay) على [[Cordova/webviews|العارض]]، أو العكس. | |||
<syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true);</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true);</syntaxhighlight> | ||
اضبط هذا الخيار إلى القيمة <code>true</code> ليعتلي شريط الحالة التطبيق. تأكد من ضبط التنسيق بصورة مناسبة حتى لا يُخفى عنوان التطبيق أو المحتوى. اضبط هذا الخيار إلى القيمة <code>false</code> لجعل شريط الحالة غير شفاف ولكي لا يعتلي تطبيقك. قم بتعيين نمط ولون الخلفية بالشكل الذي تراه مناسبًا باستخدام الدوال الأخرى. | |||
المنصات المدعومة هي: | |||
*iOS | * [[Cordova/platforms ios|iOS 7]] وما بعده | ||
* [[Cordova/platforms android|iOS 5]] وما بعده | |||
إليك المثال السريع التالي:<syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true); | |||
<syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true); | StatusBar.overlaysWebView(false); | ||
StatusBar.overlaysWebView(false); | </syntaxhighlight> | ||
==<code>StatusBar.styleDefault</code>== | ==<code>StatusBar.styleDefault</code>== | ||
استعمل هذا التابع لاستخدام شريط الحالة الافتراضي (نص غامق على خلفية فاتحة). | |||
<syntaxhighlight lang="javascript">StatusBar.styleDefault();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.styleDefault();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد 6 وما بعده | *أندرويد 6 وما بعده | ||
سطر 96: | سطر 93: | ||
==<code>StatusBar.styleLightContent</code>== | ==<code>StatusBar.styleLightContent</code>== | ||
استعمل هذا التابع لأجل استخدام شريط الحالة<code>lightContent</code> (نص فاتح على خلفية داكنة): | |||
<syntaxhighlight lang="javascript">StatusBar.styleLightContent();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.styleLightContent();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد 6 وما بعده | *أندرويد 6 وما بعده | ||
سطر 109: | سطر 104: | ||
استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackTranslucent</code> (نص فاتح، على خلفية داكنة). | استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackTranslucent</code> (نص فاتح، على خلفية داكنة). | ||
<syntaxhighlight lang="javascript">StatusBar.styleBlackTranslucent();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.styleBlackTranslucent();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد 6 وما بعده | *أندرويد 6 وما بعده | ||
سطر 120: | سطر 113: | ||
==<code>StatusBar.styleBlackOpaque</code>== | ==<code>StatusBar.styleBlackOpaque</code>== | ||
استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackOpaque</code> (نص | استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackOpaque</code> (نص فاتح على خلفيات داكنة). | ||
<syntaxhighlight lang="javascript">StatusBar.styleBlackOpaque();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.styleBlackOpaque();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد 6 وما بعده | *أندرويد 6 وما بعده | ||
سطر 132: | سطر 123: | ||
==<code>StatusBar.backgroundColorByName</code>== | ==<code>StatusBar.backgroundColorByName</code>== | ||
في منصة iOS 7، عند ضبط الخاصية <code>StatusBar.statusBarOverlaysWebView</code> إلى القيمة <code>false</code>، يمكنك تعيين لون خلفية شريط الحالة باسم أي لون تريده. | |||
<syntaxhighlight lang="javascript">StatusBar.backgroundColorByName("red");</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.backgroundColorByName("red");</syntaxhighlight> | ||
أسماء الألوان المدعومة هي: | أسماء الألوان المدعومة هي: | ||
<syntaxhighlight lang="javascript">black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, | <syntaxhighlight lang="javascript">black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown | ||
</syntaxhighlight>المنصات المدعومة هي: | |||
*iOS | *iOS | ||
*أندرويد الإصدار 5 وما بعده | *أندرويد الإصدار 5 وما بعده | ||
سطر 147: | سطر 137: | ||
==<code>StatusBar.backgroundColorByHexString</code>== | ==<code>StatusBar.backgroundColorByHexString</code>== | ||
يعيّن هذا التابع لون خلفية شريط الحالة عبر إعطائه سلسلة نصية تحتوي لونًا | يعيّن هذا التابع لون خلفية شريط الحالة عبر إعطائه سلسلة نصية تحتوي لونًا ست عشريًا (hex). | ||
<syntaxhighlight lang="javascript">StatusBar.backgroundColorByHexString("#C0C0C0");</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.backgroundColorByHexString("#C0C0C0");</syntaxhighlight> | ||
اختصارات ألوان CSS مدعومةٌ أيضًا. | اختصارات ألوان [[CSS]] مدعومةٌ أيضًا. | ||
<syntaxhighlight lang="javascript">StatusBar.backgroundColorByHexString("#333"); // => #333333 | <syntaxhighlight lang="javascript">StatusBar.backgroundColorByHexString("#333"); // => #333333 | ||
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB</syntaxhighlight> | StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB</syntaxhighlight> | ||
في منصة iOS، عند ضبط الخاصية <code>StatusBar.statusBarOverlaysWebView</code> إلى القيمة <code>false</code>، فيمكنك تعيين لون خلفية شريط الحالة عبر سلسلة نصية ست عشرية (<code>#RRGGBB</code>). | |||
في منصة أندرويد، عند ضبط الخاصية <code>StatusBar.overlaysWebView</code> إلى القيمة <code>true</code>، وكذلك في منصتي WP7 و WP8، يمكنك أيضًا تحديد قيم مثل <code>#AARRGGBB</code>، إذ تمثل <code>AA</code> قيمة الشفافية ألفا (alpha value). | |||
المنصات المدعومة هي: | |||
*iOS | *iOS | ||
*أندرويد 5 ومابعده | *أندرويد 5 ومابعده | ||
سطر 168: | سطر 158: | ||
يخفي هذا التابع شريط الحالة. | يخفي هذا التابع شريط الحالة. | ||
<syntaxhighlight lang="javascript">StatusBar.hide();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.hide();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد | *أندرويد | ||
سطر 180: | سطر 168: | ||
يعرض هذا التابع شريط الحالة. | يعرض هذا التابع شريط الحالة. | ||
<syntaxhighlight lang="javascript">StatusBar.show();</syntaxhighlight> | <syntaxhighlight lang="javascript">StatusBar.show();</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد | *أندرويد | ||
سطر 191: | سطر 177: | ||
==<code>StatusBar.isVisible</code>== | ==<code>StatusBar.isVisible</code>== | ||
استعمل هذه الخاصية لمعرفة ما إذا كان شريط الحالة مرئيًا أم لا. | |||
<syntaxhighlight lang="javascript">if (StatusBar.isVisible) { | <syntaxhighlight lang="javascript">if (StatusBar.isVisible) { | ||
// افعل شيئًا ما | // افعل شيئًا ما | ||
}</syntaxhighlight> | }</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
*أندرويد | *أندرويد | ||
سطر 205: | سطر 189: | ||
==<code>statusTap</code>== | ==<code>statusTap</code>== | ||
أنصِت لهذا الحدث لمعرفة ما إذا تم النقر على شريط الحالة. | أنصِت لهذا الحدث لمعرفة ما إذا تم النقر على شريط الحالة أم لا. | ||
<syntaxhighlight lang="javascript">window.addEventListener('statusTap', function() { | <syntaxhighlight lang="javascript">window.addEventListener('statusTap', function() { | ||
// أو افعل ما تريد ،document.body.scrollTop = 0 مرّر إلى أعلى عبر | // أو افعل ما تريد ،document.body.scrollTop = 0 مرّر إلى أعلى عبر | ||
});</syntaxhighlight> | });</syntaxhighlight>المنصات المدعومة هي: | ||
*iOS | *iOS | ||
== انظر | == انظر أيضًا == | ||
* إضافة [[Cordova/cordova plugin dialogs|مربعات الحوار]] | * إضافة [[Cordova/cordova plugin dialogs|مربعات الحوار]] | ||
* إضافة <nowiki/>[[Cordova/cordova plugin battery status|حالة البطارية]] | * إضافة <nowiki/>[[Cordova/cordova plugin battery status|حالة البطارية]] | ||
* إضافة [[Cordova/cordova plugin network information|حالة الشبكة]] | |||
* [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]] | * [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]] | ||
==مصادر== | ==مصادر== | ||
*[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-statusbar/index.html صفحة cordova-plugin-statusbar في توثيق كوردوفا الرسمي.] | *[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-statusbar/index.html صفحة cordova-plugin-statusbar في توثيق كوردوفا الرسمي.] |
المراجعة الحالية بتاريخ 22:19، 3 ديسمبر 2020
يوفر الكائن StatusBar
بعض الدوال التي يمكن استخدامها لتخصيص شريط الحالة في منصتي iOS و أندرويد.
التثبيت
تتطلب هذه الطريقة في التثبيت الإصدار 5.0 من كوروفا وما بعده:
cordova plugin add cordova-plugin-statusbar
لا يزال بالإمكان تثبيت هذه الإضافة على الإصدارات القديمة من كوردوفا عبر المُعرِّف المُهمل التالي:
cordova plugin add org.apache.cordova.statusbar
من الممكن أيضًا تثبيت هذه الإضافة عبر مستودع git مباشرة (إلا أنه غير مستقر):
cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git
تفضيلات
الملف Config.xml
StatusBarOverlaysWebView
: (قيمة منطقية؛ القيمة الافتراضية هيtrue
) في منصة iOS، هذا الخيار يجعل شريط الحالة يركب (overlay) على العارض أو العكس عند بدء التشغيل.
<preference name="StatusBarOverlaysWebView" value="true" />
StatusBarBackgroundColor
: (سلسلة نصية تمثل لونًا ست عشريًا [color hex]؛ لا توجد قيمة افتراضية). في منصة iOS، يضبط هذا الخيار لون خلفية شريط الحالة، إذ يعطيها اللون المُتضمّن في السلسلة النصية الست عشرية (مثل #RRGGBB
) عند بدء التشغيل. إذا لم يتم تعيين هذه القيمة، فسيكون لون الخلفية شفافًا.
<preference name="StatusBarBackgroundColor" value="#000000" />
StatusBarStyle
: (نمط شريط الحالة؛ القيمة الافتراضية هيlightcontent
). في منصة iOS 7، يعيّن هذا الخيار نمط شريط الحالة. الخيارات الافتراضية المتاحة هي:lightcontent
وblacktranslucent
وblackopaque
.
<preference name="StatusBarStyle" value="lightcontent" />
StatusBarDefaultScrollToTop
: (قيمة منطقية؛ القيمة الافتراضية تساويfalse
). في نظام التشغيل iOS، يتيح هذا الخيار لعارض كوروفا استخدام السلوك الافتراضي في التمرير إلى الأعلى (scroll-to-top). القيمة الافتراضية هيfalse
، ما يعني أنّه يمكنك الاستماع إلى الحدث "statusTap
" (الموضح أدناه) وتخصيص السلوك.
<preference name="StatusBarDefaultScrollToTop" value="false" />
ملاحظات خاصة بمنصة أندرويد
توصي إرشادات منصة أندرويد من الإصدار 5 وما بعده، بأن يكون لون شريط الحالة مختلفًا عن لون التطبيق الرئيسي (بخلاف لون شريط الحالة المُوحّد في العديد من تطبيقات iOS 7)، لذلك قد ترغب في تعيين لون شريط الحالة في وقت التشغيل عبر التابعين StatusBar.backgroundColorByHexString
و StatusBar.backgroundColorByName
. فيما يلي إحدى الطرق الممكنة للقيام بذلك:
if (cordova.platformId == 'android') {
StatusBar.backgroundColorByHexString("#333");
}
من الممكن أيضًا جعل شريط الحالة شبه شفاف. يستخدم Android قيما لونية ست عشرية من النوع ARGB، والتي تُنسّق على هيئة #AARRGGBB
. يمثل الزوج الأول من الأحرف AA
قناة ألفا (alpha channel). يجب عليك تحويل قيم العتامة (opacity) العشرية إلى قيمة ست عشرية. يمكنك قراءة المزيد من هنا.
هذا مثال على شريط حالة أسود مع عتامة 20%:
if (cordova.platformId == 'android') {
StatusBar.overlaysWebView(true);
StatusBar.backgroundColorByHexString('#33000000');
}
إخفاء شريط الحالة عند بدء التشغيل
خلال وقت التشغيل، يمكنك استخدام الدالة StatusBar.hide
أدناه، ولكن إذا كنت تريد إخفاء شريط الحالة عند بدء تشغيل التطبيق، فعليك تعديل الملف Info.plist
الخاص بتطبيقك.
أضف أو عدّل هاتين الخاصيتين إذا لم تكونا موجودتين. عيّن "Status bar is initially hidden"
إلى القيمة "YES"
وعّين "View controller-based status bar appearance"
إلى القيمة "NO"
. إذا عدّلتها يدويًا من دون استخدام بيئة العمل Xcode، فستكون المفاتيح والقيم كما يلي:
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
StatusBar
تعرِّف هذه الإضافة كائنًا عامًّا هو StatusBar
. على الرغم من أنّ هذا الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(StatusBar);
}
التوابع التي يمكن استعمالها مع هذا الكائن هي:
StatusBar.overlaysWebView
StatusBar.styleDefault
StatusBar.styleLightContent
StatusBar.styleBlackTranslucent
StatusBar.styleBlackOpaque
StatusBar.backgroundColorByName
StatusBar.backgroundColorByHexString
StatusBar.hide
StatusBar.show
الخاصيات التي يمكن استعمالها مع هذا الكائن هي:
StatusBar.isVisible
الأحداث التي يمكن استعمالها مع هذا الكائن هي:
statusTap
StatusBar.overlaysWebView
يجعل هذا التابعُ شريطَ الحالة إما يركب (overlay) على العارض، أو العكس.
StatusBar.overlaysWebView(true);
اضبط هذا الخيار إلى القيمة true
ليعتلي شريط الحالة التطبيق. تأكد من ضبط التنسيق بصورة مناسبة حتى لا يُخفى عنوان التطبيق أو المحتوى. اضبط هذا الخيار إلى القيمة false
لجعل شريط الحالة غير شفاف ولكي لا يعتلي تطبيقك. قم بتعيين نمط ولون الخلفية بالشكل الذي تراه مناسبًا باستخدام الدوال الأخرى.
المنصات المدعومة هي:
إليك المثال السريع التالي:
StatusBar.overlaysWebView(true);
StatusBar.overlaysWebView(false);
StatusBar.styleDefault
استعمل هذا التابع لاستخدام شريط الحالة الافتراضي (نص غامق على خلفية فاتحة).
StatusBar.styleDefault();
المنصات المدعومة هي:
- iOS
- أندرويد 6 وما بعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.styleLightContent
استعمل هذا التابع لأجل استخدام شريط الحالةlightContent
(نص فاتح على خلفية داكنة):
StatusBar.styleLightContent();
المنصات المدعومة هي:
- iOS
- أندرويد 6 وما بعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.styleBlackTranslucent
استدع هذا التابع لاستخدام شريط الحالة من النوع blackTranslucent
(نص فاتح، على خلفية داكنة).
StatusBar.styleBlackTranslucent();
المنصات المدعومة هي:
- iOS
- أندرويد 6 وما بعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.styleBlackOpaque
استدع هذا التابع لاستخدام شريط الحالة من النوع blackOpaque
(نص فاتح على خلفيات داكنة).
StatusBar.styleBlackOpaque();
المنصات المدعومة هي:
- iOS
- أندرويد 6 وما بعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.backgroundColorByName
في منصة iOS 7، عند ضبط الخاصية StatusBar.statusBarOverlaysWebView
إلى القيمة false
، يمكنك تعيين لون خلفية شريط الحالة باسم أي لون تريده.
StatusBar.backgroundColorByName("red");
أسماء الألوان المدعومة هي:
black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown
المنصات المدعومة هي:
- iOS
- أندرويد الإصدار 5 وما بعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.backgroundColorByHexString
يعيّن هذا التابع لون خلفية شريط الحالة عبر إعطائه سلسلة نصية تحتوي لونًا ست عشريًا (hex).
StatusBar.backgroundColorByHexString("#C0C0C0");
اختصارات ألوان CSS مدعومةٌ أيضًا.
StatusBar.backgroundColorByHexString("#333"); // => #333333
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB
في منصة iOS، عند ضبط الخاصية StatusBar.statusBarOverlaysWebView
إلى القيمة false
، فيمكنك تعيين لون خلفية شريط الحالة عبر سلسلة نصية ست عشرية (#RRGGBB
).
في منصة أندرويد، عند ضبط الخاصية StatusBar.overlaysWebView
إلى القيمة true
، وكذلك في منصتي WP7 و WP8، يمكنك أيضًا تحديد قيم مثل #AARRGGBB
، إذ تمثل AA
قيمة الشفافية ألفا (alpha value).
المنصات المدعومة هي:
- iOS
- أندرويد 5 ومابعده
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.hide
يخفي هذا التابع شريط الحالة.
StatusBar.hide();
المنصات المدعومة هي:
- iOS
- أندرويد
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.show
يعرض هذا التابع شريط الحالة.
StatusBar.show();
المنصات المدعومة هي:
- iOS
- أندرويد
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
StatusBar.isVisible
استعمل هذه الخاصية لمعرفة ما إذا كان شريط الحالة مرئيًا أم لا.
if (StatusBar.isVisible) {
// افعل شيئًا ما
}
المنصات المدعومة هي:
- iOS
- أندرويد
- Windows Phone 7
- Windows Phone 8
- Windows Phone 8.1
statusTap
أنصِت لهذا الحدث لمعرفة ما إذا تم النقر على شريط الحالة أم لا.
window.addEventListener('statusTap', function() {
// أو افعل ما تريد ،document.body.scrollTop = 0 مرّر إلى أعلى عبر
});
المنصات المدعومة هي:
- iOS
انظر أيضًا
- إضافة مربعات الحوار
- إضافة حالة البطارية
- إضافة حالة الشبكة
- دليل تطوير الإضافات في كوردوفا