الفرق بين المراجعتين ل"Cordova/cordova plugin statusbar"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:إضافة شريط الحالة في كوردوفا}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:إضافة شريط الحالة في كوردوفا}}</noinclude>
 
[[تصنيف: Cordova]]
 
[[تصنيف: Cordova]]
[[تصنيف: Plugin]]
+
[[تصنيف: Plugin]]
==شريط الحالة==
+
يوفر الكائن <code>StatusBar</code> بعض الدوال التي يمكن استخدامها لتخصيص شريط الحالة في منصتي iOS و أندرويد.
يوفر الكائن <code>StatusBar</code> بعض الدوال التي يمكن استخدامها لتخصيص شريطي الحالة في منصتي iOS و أندرويد.  
 
 
 
: تحذير: تقرير عن القضايا على [https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22cordova-plugin-statusbar%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC Apache Cordova issue tracker]
 
 
 
 
=== التثبيت ===  
 
=== التثبيت ===  
  
تتطلب هذه الطريقة في التثبيت هذه الإصدار 5.0 من كوروفا وما فوقه:  
+
تتطلب هذه الطريقة في التثبيت الإصدارَ 5.0 من كوروفا وما فوقه:  
<syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-statusbar‎</syntaxhighlight>  
+
<syntaxhighlight lang="shell">cordova plugin add cordova-plugin-statusbar‎</syntaxhighlight>  
  
لا يزال بالإمكان تثبيت هذه الإضافة على الإصدارات القديمة من كوردوفا عبر المُعرِّف <code>deprecated</code>
+
لا يزال بالإمكان تثبيت هذه الإضافة على الإصدارات القديمة من كوردوفا عبر المُعرِّف المُهمل التالي:
<syntaxhighlight lang="javascript">cordova plugin add org.apache.cordova.statusbar‎</syntaxhighlight>  
+
<syntaxhighlight lang="shell">cordova plugin add org.apache.cordova.statusbar‎</syntaxhighlight>  
  
 
من الممكن أيضًا تثبيت هذه الإضافة عبر مستودع git مباشرة (إلا أنه غير مستقر)  
 
من الممكن أيضًا تثبيت هذه الإضافة عبر مستودع git مباشرة (إلا أنه غير مستقر)  
<syntaxhighlight lang="javascript">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>  
  
 
=== تفضيلات ===  
 
=== تفضيلات ===  
=== الملف Config.xml ====  
+
==== الملف <code>Config.xml</code>====  
* <code>StatusBarOverlaysWebView</code> (قيمة منطقية، القيمة الافتراضية هي true). على منصة iOS 7، هذا الخيار يجعل شريط الحالة يركب (overlay) على [[Cordova/webviews|العارض]] أولا يركب عند بدء التشغيل.  
+
* <code>StatusBarOverlaysWebView</code>: (قيمة منطقية، القيمة الافتراضية هي <code>true</code>). على منصة iOS 7، هذا الخيار يجعل شريط الحالة يركب (overlay) على [[Cordova/webviews|العارض]] أو العكس عند بدء التشغيل.  
<syntaxhighlight lang="javascript"><preference name="StatusBarOverlaysWebView" value="true" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><preference name="StatusBarOverlaysWebView" value="true" />‎</syntaxhighlight>  
* <code>StatusBarBackgroundColor</code> (سلسلة نصية تمثل لونًا سداسعشريًا [color hex]، بدون قيمة افتراضية). على منصة iOS 7، يضبط هذا الخيار لون خلفية شريط الحالة باللون المُتضمّن في السلسلة النصية السداسعشرية (‎#RRGGBB) عند بدء التشغيل. إذا لم يتم تعيين هذه القيمة، فسيكون لون الخلفية شفافًا.  
+
* <code>StatusBarBackgroundColor</code>: (سلسلة نصية تمثل لونًا سداسعشريًا [color hex]، بدون قيمة افتراضية). على منصة iOS 7، يضبط هذا الخيار لون خلفية شريط الحالة باللون المُتضمّن في السلسلة النصية السداسعشرية (‎<code>#RRGGBB</code>) عند بدء التشغيل. إذا لم يتم تعيين هذه القيمة، فسيكون لون الخلفية شفافًا.  
<syntaxhighlight lang="javascript"><preference name="StatusBarBackgroundColor" value="#000000" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><preference name="StatusBarBackgroundColor" value="#000000" />‎</syntaxhighlight>  
* <code>StatusBarStyle</code> (نمط شريط الحالة، االقيمة الافتراضية هي lightcontent). على منصة iOS 7، يعيّن هذا الخيار نمط شريط الحالة. الخيارات الافتراضية المتاحة، lightcontent و blacktranslucent و blackopaque.  
+
* <code>StatusBarStyle</code>: (نمط شريط الحالة، االقيمة الافتراضية هي <code>lightcontent</code>). على منصة iOS 7، يعيّن هذا الخيار نمط شريط الحالة. الخيارات الافتراضية المتاحة هي: <code>lightcontent</code> و <code>blacktranslucent</code> و <code>blackopaque</code>.  
<syntaxhighlight lang="javascript"><preference name="StatusBarStyle" value="lightcontent" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><preference name="StatusBarStyle" value="lightcontent" />‎</syntaxhighlight>  
* <code>StatusBarDefaultScrollToTop</code> (قيمة منطقية، القيمة الافتراضية تساوي false). في نظام التشغيل iOS 7، يتيح هذا الخيار ل[[Cordova/webviews|عارض]] لكوروفا استخدام سلوك التمرير إلى الأعلى (scroll-to-top) الافتراضي. القيمة الافتراضية هي false، حتى يمكنك الاستماع إلى الحدث "statusTap" (الموضح أدناه) وتخصيص السلوك بدلاً من ذلك.  
+
* <code>StatusBarDefaultScrollToTop</code>: (قيمة منطقية، القيمة الافتراضية تساوي <code>false</code>). في نظام التشغيل iOS 7، يتيح هذا الخيار ل[[Cordova/webviews|عارض]] كوروفا استخدام السلوك الافتراضي في التمرير إلى الأعلى (scroll-to-top). القيمة الافتراضية هي <code>false</code>، ما يعني أنّه يمكنك الاستماع إلى الحدث "<code>statusTap</code>" (الموضح أدناه) وتخصيص السلوك.  
<syntaxhighlight lang="javascript"><preference name="StatusBarDefaultScrollToTop" value="false" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><preference name="StatusBarDefaultScrollToTop" value="false" />‎</syntaxhighlight>  
 
====ملاحظات خاصة بمنصة أندرويد ====  
 
====ملاحظات خاصة بمنصة أندرويد ====  
  
تحدد إرشادات أندرويد، الإصدار 5 وما بعده، أن يكون لون شريط الحالة مختلفًا عن لون التطبيق الرئيسي (بخلاف لون شريط الحالة الموحد في العديد من تطبيقات iOS 7+‎)، لذلك قد ترغب بدلاً من ذلك في تعيين لون شريط الحالة في وقت التشغيل عبر التابعين <code>StatusBar.backgroundColorByHexString</code> أو <code>StatusBar.backgroundColorByName</code>. فيما يلي إحدى الطرق الممكنة للقيام بذلك:  
+
توصي إرشادات أندرويد، الإصدار 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");
سطر 37: سطر 33:
 
=== إخفاء شريط الحالة عند بدء التشغيل ===  
 
=== إخفاء شريط الحالة عند بدء التشغيل ===  
  
خلال وقت التشغيل، يمكنك استخدام الدالة StatusBar.hide أدناه، ولكن إذا كنت تريد إخفاء شريط الحالة عند بدء تشغيل التطبيق، فعليك تعديل الملف Info.plist الخاص بتطبيقك.  
+
خلال وقت التشغيل، يمكنك استخدام الدالة [[Cordova/cordova plugin statusbar#StatusBar.hide|StatusBar.hide]] أدناه، ولكن إذا كنت تريد إخفاء شريط الحالة عند بدء تشغيل التطبيق، فعليك تعديل الملف <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، فستكون المفاتيح والقيم كما يلي:  
<syntaxhighlight lang="javascript"><key>UIStatusBarHidden</key>
+
<syntaxhighlight lang="xml"><key>UIStatusBarHidden</key>
 
<true/>
 
<true/>
 
<key>UIViewControllerBasedStatusBarAppearance</key>
 
<key>UIViewControllerBasedStatusBarAppearance</key>
سطر 49: سطر 45:
 
تعرّف هذه الإضافة كائنًا عامًّا <code>StatusBar</code>.  
 
تعرّف هذه الإضافة كائنًا عامًّا <code>StatusBar</code>.  
  
على الرغم من أن هذا الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث <code>deviceready</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>
* StatusBar.overlaysWebView  
+
* <code>StatusBar.overlaysWebView</code>
* StatusBar.styleDefault  
+
* <code>StatusBar.styleDefault</code>
* StatusBar.styleLightContent  
+
* <code>StatusBar.styleLightContent</code>
* StatusBar.styleBlackTranslucent  
+
* <code>StatusBar.styleBlackTranslucent</code>
* StatusBar.styleBlackOpaque  
+
* <code>StatusBar.styleBlackOpaque</code>
* StatusBar.backgroundColorByName  
+
* <code>StatusBar.backgroundColorByName</code>
* StatusBar.backgroundColorByHexString  
+
* <code>StatusBar.backgroundColorByHexString</code>
* StatusBar.hide  
+
* <code>StatusBar.hide</code>
* StatusBar.show  
+
* <code>StatusBar.show</code>
  
=== خاصيات ===  
+
=== الخاصيات ===  
* StatusBar.isVisible  
+
* <code>StatusBar.isVisible</code>
  
 
===الأحداث===  
 
===الأحداث===  
* statusTap  
+
* <code>statusTap</code>
  
==StatusBar.overlaysWebView==  
+
==<code>StatusBar.overlaysWebView</code>==  
  
على منصة iOS 7، يجعل هذا التابعُ شريط الحالة يركب (overlay) على [[Cordova/webviews|العارض]]، أو العكس.  
+
على منصة iOS 7، يجعل هذا التابعُ شريطَ الحالة يركب (overlay) على [[Cordova/webviews|العارض]]، أو العكس.  
 
<syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true);‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.overlaysWebView(true);‎</syntaxhighlight>  
  
 
===الوصف===  
 
===الوصف===  
  
على منصة iOS 7، اضبط هذا الخيار عند القيمة false لإظهار شريط الحالة مثل ما هو الحال في منصة iOS 6. قم بتعيين نمط ولون الخلفية بالشكل الذي تراه مناسبًا استخدام الدوال الأخرى.  
+
على منصة iOS 7، اضبط هذا الخيار عند القيمة <code>false</code> لإظهار شريط الحالة مثل ما هو الحال في منصة iOS 6. قم بتعيين نمط ولون الخلفية بالشكل الذي تراه مناسبًا باستخدام الدوال الأخرى.  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
سطر 86: سطر 82:
 
StatusBar.overlaysWebView(false);‎</syntaxhighlight>  
 
StatusBar.overlaysWebView(false);‎</syntaxhighlight>  
  
==StatusBar.styleDefault==  
+
==<code>StatusBar.styleDefault</code>==  
  
استخدم شريط الحالة الافتراضي (النص غامق على خلفية فاتحة).  
+
استدع هذا التابع لاستخدام شريط الحالة الافتراضي (نص غامق على خلفية فاتحة).  
 
<syntaxhighlight lang="javascript">StatusBar.styleDefault();‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.styleDefault();‎</syntaxhighlight>  
  
سطر 98: سطر 94:
 
* Windows Phone 8.1  
 
* Windows Phone 8.1  
  
==StatusBar.styleLightContent==  
+
==<code>StatusBar.styleLightContent</code>==  
  
لأجل استخدام شريط الحالة ذو المحتوى المُشعّ lightContent (نص مُشِع على خلفية داكنة).  
+
استدع هذا التابع لأجل استخدام شريط الحالة ذو المحتوى المُشعّ <code>lightContent</code> (نص مُشِع على خلفية داكنة).  
 
<syntaxhighlight lang="javascript">StatusBar.styleLightContent();‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.styleLightContent();‎</syntaxhighlight>  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
 
*iOS  
 
*iOS  
*Android 6+
+
*أندرويد 6 وما بعده
 
*Windows Phone 7  
 
*Windows Phone 7  
 
*Windows Phone 8  
 
*Windows Phone 8  
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.styleBlackTranslucent==  
+
==<code>StatusBar.styleBlackTranslucent</code>==  
  
لاستخدام شريط الحالة من النوع blackTranslucent (نص فاتح، على خلفية داكنة).  
+
استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackTranslucent</code> (نص فاتح، على خلفية داكنة).  
 
<syntaxhighlight lang="javascript">StatusBar.styleBlackTranslucent();‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.styleBlackTranslucent();‎</syntaxhighlight>  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
 
*iOS  
 
*iOS  
*Android 6+
+
*أندرويد 6 وما بعده
 
*Windows Phone 7  
 
*Windows Phone 7  
 
*Windows Phone 8  
 
*Windows Phone 8  
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.styleBlackOpaque==  
+
==<code>StatusBar.styleBlackOpaque</code>==  
  
لاستخدام شريط الحالة من النوع blackOpaque (نص مشعّ على خلفيات داكنة).  
+
استدع هذا التابع لاستخدام شريط الحالة من النوع <code>blackOpaque</code> (نص مشعّ على خلفيات داكنة).  
 
<syntaxhighlight lang="javascript">StatusBar.styleBlackOpaque();‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.styleBlackOpaque();‎</syntaxhighlight>  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
 
*iOS  
 
*iOS  
*Android 6+
+
*أندرويد 6 وما بعده
 
*Windows Phone 7  
 
*Windows Phone 7  
 
*Windows Phone 8  
 
*Windows Phone 8  
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.backgroundColorByName==  
+
==<code>StatusBar.backgroundColorByName</code>==  
  
على منصة iOS 7، عند تعيين StatusBar.statusBarOverlaysWebView إلى القيمة false، يمكنك تعيين لون خلفية شريط الحالة حسب اسم اللون.  
+
على منصة iOS 7، عند ضبط الخاصية <code>StatusBar.statusBarOverlaysWebView</code> عند القيمة <code>false</code>، فيمكنك تعيين لون خلفية شريط الحالة باسم اللون.  
 
<syntaxhighlight lang="javascript">StatusBar.backgroundColorByName("red");‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">StatusBar.backgroundColorByName("red");‎</syntaxhighlight>  
  
سطر 149: سطر 145:
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.backgroundColorByHexString==  
+
==<code>StatusBar.backgroundColorByHexString</code>==  
  
 
يعيّن هذا التابع لون خلفية شريط الحالة عبر إعطائه سلسلة نصية تحتوي لونًا سداسعشريًا (hex).  
 
يعيّن هذا التابع لون خلفية شريط الحالة عبر إعطائه سلسلة نصية تحتوي لونًا سداسعشريًا (hex).  
سطر 158: سطر 154:
 
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB‎</syntaxhighlight>  
 
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB‎</syntaxhighlight>  
  
على منصة iOS 7، عند تعيين StatusBar.statusBarOverlaysWebView إلى القيمة false، فيمكنك تعيين لون خلفية شريط الحالة عبر سلسلة نصية سداسعشرية (‎#RRGGBB).  
+
على منصة iOS 7، عند ضبط الخاصية <code>StatusBar.statusBarOverlaysWebView</code> عند القيمة <code>false</code>، فيمكنك تعيين لون خلفية شريط الحالة عبر سلسلة نصية سداسعشرية (<code>‎#RRGGBB</code>).  
  
على منصتي WP7 و WP8، يمكنك أيضًا تحديد قيم من قبيل ‎#AARRGGBB، حيث تمثل AA قيمة الشفافية ألفا (alpha value)  
+
على منصتي WP7 و WP8، يمكنك أيضًا تحديد قيم من قبيل ‎<code>#AARRGGBB</code>، حيث تمثل <code>AA</code> قيمة الشفافية ألفا (alpha value)  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
 
*iOS  
 
*iOS  
*Android 5+
+
*أندرويد 5 ومابعده
 
*Windows Phone 7  
 
*Windows Phone 7  
 
*Windows Phone 8  
 
*Windows Phone 8  
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.hide==  
+
==<code>StatusBar.hide</code>==  
  
 
يخفي هذا التابع شريط الحالة.  
 
يخفي هذا التابع شريط الحالة.  
سطر 181: سطر 177:
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.show==  
+
==<code>StatusBar.show</code>==  
  
 
يعرض هذا التابع شريط الحالة.  
 
يعرض هذا التابع شريط الحالة.  
سطر 193: سطر 189:
 
*Windows Phone 8.1  
 
*Windows Phone 8.1  
  
==StatusBar.isVisible==  
+
==<code>StatusBar.isVisible</code>==  
  
 
تحقق من هذه الخاصية لمعرفة ما إذا كان شريط الحالة مرئيًا أم لا.  
 
تحقق من هذه الخاصية لمعرفة ما إذا كان شريط الحالة مرئيًا أم لا.  
 
<syntaxhighlight lang="javascript">if (StatusBar.isVisible) {
 
<syntaxhighlight lang="javascript">if (StatusBar.isVisible) {
     // do something
+
     // افعل شيئًا ما
 
}‎</syntaxhighlight>  
 
}‎</syntaxhighlight>  
  
سطر 205: سطر 201:
 
*Windows Phone 7  
 
*Windows Phone 7  
 
*Windows Phone 8  
 
*Windows Phone 8  
* ويندوز فون 8.1  
+
* Windows Phone 8.1  
  
==statusTap==  
+
==<code>statusTap</code>==  
  
 
أنصِت لهذا الحدث لمعرفة ما إذا تم النقر على شريط الحالة.  
 
أنصِت لهذا الحدث لمعرفة ما إذا تم النقر على شريط الحالة.  
 
<syntaxhighlight lang="javascript">window.addEventListener('statusTap', function() {
 
<syntaxhighlight lang="javascript">window.addEventListener('statusTap', function() {
     // scroll-up with document.body.scrollTop = 0; or do whatever you want
+
     // أو افعل ما تريد ،document.body.scrollTop = 0 مرّر إلى أعلى عبر
 
});‎</syntaxhighlight>  
 
});‎</syntaxhighlight>  
  
 
=== المنصات المدعومة ===  
 
=== المنصات المدعومة ===  
 
*iOS
 
*iOS
 +
 +
== انظر أيضا ==
 +
* إضافة [[Cordova/cordova plugin dialogs|مربعات الحوار]]
 +
* إضافة <nowiki/>[[Cordova/cordova plugin battery status|حالة البطارية]]
 +
* [[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 في توثيق كوردوفا الرسمي.]

مراجعة 16:04، 23 ديسمبر 2018

يوفر الكائن 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 7، هذا الخيار يجعل شريط الحالة يركب (overlay) على العارض أو العكس عند بدء التشغيل.
<preference name="StatusBarOverlaysWebView" value="true" />
  • StatusBarBackgroundColor: (سلسلة نصية تمثل لونًا سداسعشريًا [color hex]، بدون قيمة افتراضية). على منصة iOS 7، يضبط هذا الخيار لون خلفية شريط الحالة باللون المُتضمّن في السلسلة النصية السداسعشرية (‎#RRGGBB) عند بدء التشغيل. إذا لم يتم تعيين هذه القيمة، فسيكون لون الخلفية شفافًا.
<preference name="StatusBarBackgroundColor" value="#000000" />
  • StatusBarStyle: (نمط شريط الحالة، االقيمة الافتراضية هي lightcontent). على منصة iOS 7، يعيّن هذا الخيار نمط شريط الحالة. الخيارات الافتراضية المتاحة هي: lightcontent و blacktranslucent و blackopaque.
<preference name="StatusBarStyle" value="lightcontent" />
  • StatusBarDefaultScrollToTop: (قيمة منطقية، القيمة الافتراضية تساوي false). في نظام التشغيل iOS 7، يتيح هذا الخيار لعارض كوروفا استخدام السلوك الافتراضي في التمرير إلى الأعلى (scroll-to-top). القيمة الافتراضية هي false، ما يعني أنّه يمكنك الاستماع إلى الحدث "statusTap" (الموضح أدناه) وتخصيص السلوك.
<preference name="StatusBarDefaultScrollToTop" value="false" />

ملاحظات خاصة بمنصة أندرويد

توصي إرشادات أندرويد، الإصدار 5 وما بعده، بأن يكون لون شريط الحالة مختلفًا عن لون التطبيق الرئيسي (بخلاف لون شريط الحالة المُوحّد في العديد من تطبيقات iOS 7+‎)، لذلك قد ترغب في تعيين لون شريط الحالة في وقت التشغيل عبر التابعين StatusBar.backgroundColorByHexString و StatusBar.backgroundColorByName. فيما يلي إحدى الطرق الممكنة للقيام بذلك:

if (cordova.platformId == 'android') {
    StatusBar.backgroundColorByHexString("#333");
}

إخفاء شريط الحالة عند بدء التشغيل

خلال وقت التشغيل، يمكنك استخدام الدالة 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.

على الرغم من أنّ هذا الكائن موجود في النطاق العام (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

على منصة iOS 7، يجعل هذا التابعُ شريطَ الحالة يركب (overlay) على العارض، أو العكس.

StatusBar.overlaysWebView(true);

الوصف

على منصة iOS 7، اضبط هذا الخيار عند القيمة false لإظهار شريط الحالة مثل ما هو الحال في منصة iOS 6. قم بتعيين نمط ولون الخلفية بالشكل الذي تراه مناسبًا باستخدام الدوال الأخرى.

المنصات المدعومة

  • iOS

مثال سريع

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 7، عند ضبط الخاصية StatusBar.statusBarOverlaysWebView عند القيمة false، فيمكنك تعيين لون خلفية شريط الحالة عبر سلسلة نصية سداسعشرية (‎#RRGGBB).

على منصتي 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

انظر أيضا

مصادر