الفرق بين المراجعتين ل"ReactNative/statusbar"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: StatusBar في React Native}}</noinclude>
+
<noinclude>{{DISPLAYTITLE:المكون StatusBar في React Native}}</noinclude>
 
مكون للتحكم في شريط حالة التطبيق.
 
مكون للتحكم في شريط حالة التطبيق.
==الاستخدام مع المكوّن Navigator==
+
==الاستخدام مع المكون Navigator==
من الممكن تركيب العديد من مكونات StatusBar في نفس الوقت. سيتم دمج الخاصيّات بالترتيب الذي رُكّبت به مكونات StatusBar:
+
من الممكن تركيب العديد من مكونات <code>StatusBar</code> في نفس الوقت. سيتم دمج الخاصيّات بالترتيب الذي رُكّبت به مكونات <code>StatusBar</code>.
 +
 
 +
إليك المثال التالي ([https://snack.expo.dev/@hsoubwiki/statusbar-component-example تجربة حية]):
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
<View>
+
import React, { useState } from 'react';
   <StatusBar backgroundColor="blue" barStyle="light-content" />
+
import { Button, Platform, SafeAreaView, StatusBar, StyleSheet, Text, View } from 'react-native';
  <View>
+
 
    <StatusBar hidden={route.statusBarHidden} />
+
const STYLES = ['default', 'dark-content', 'light-content'];
    ...
+
const TRANSITIONS = ['fade', 'slide', 'none'];
  </View>
+
 
</View>
+
const App = () => {
 +
  const [hidden, setHidden] = useState(false);
 +
  const [statusBarStyle, setStatusBarStyle] = useState(STYLES[0]);
 +
  const [statusBarTransition, setStatusBarTransition] = useState(TRANSITIONS[0]);
 +
 
 +
  const changeStatusBarVisibility = () => setHidden(!hidden);
 +
 
 +
  const changeStatusBarStyle = () => {
 +
    const styleId = STYLES.indexOf(statusBarStyle) + 1;
 +
    if (styleId === STYLES.length) {
 +
      setStatusBarStyle(STYLES[0]);
 +
    } else {
 +
      setStatusBarStyle(STYLES[styleId]);
 +
    }
 +
  };
 +
 
 +
  const changeStatusBarTransition = () => {
 +
    const transition = TRANSITIONS.indexOf(statusBarTransition) + 1;
 +
    if (transition === TRANSITIONS.length) {
 +
      setStatusBarTransition(TRANSITIONS[0]);
 +
    } else {
 +
      setStatusBarTransition(TRANSITIONS[transition]);
 +
    }
 +
  };
 +
 
 +
   return (
 +
    <SafeAreaView style={styles.container}>
 +
      <StatusBar
 +
        animated={true}
 +
        backgroundColor="#61dafb"
 +
        barStyle={statusBarStyle}
 +
        showHideTransition={statusBarTransition}
 +
        hidden={hidden} />
 +
      <Text style={styles.textStyle}>
 +
        StatusBar Visibility:{'\n'}
 +
        {hidden ? 'Hidden' : 'Visible'}
 +
      </Text>
 +
      <Text style={styles.textStyle}>
 +
        StatusBar Style:{'\n'}
 +
        {statusBarStyle}
 +
      </Text>
 +
      {Platform.OS === 'ios' ? (
 +
        <Text style={styles.textStyle}>
 +
          StatusBar Transition:{'\n'}
 +
          {statusBarTransition}
 +
        </Text>
 +
      ) : null}
 +
      <View style={styles.buttonsContainer}>
 +
        <Button
 +
          title="Toggle StatusBar"
 +
          onPress={changeStatusBarVisibility} />
 +
        <Button
 +
          title="Change StatusBar Style"
 +
          onPress={changeStatusBarStyle} />
 +
        {Platform.OS === 'ios' ? (
 +
          <Button
 +
            title="Change StatusBar Transition"
 +
            onPress={changeStatusBarTransition} />
 +
        ) : null}
 +
      </View>
 +
    </SafeAreaView>
 +
  );
 +
};
 +
 
 +
const styles = StyleSheet.create({
 +
  container: {
 +
    flex: 1,
 +
    justifyContent: 'center',
 +
    backgroundColor: '#ECF0F1'
 +
  },
 +
  buttonsContainer: {
 +
    padding: 10
 +
  },
 +
  textStyle: {
 +
    textAlign: 'center',
 +
    marginBottom: 8
 +
  }
 +
});
 +
 
 +
export default App;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==واجهة برمجة تطبيقات أمرية (Imperative API)==
 
==واجهة برمجة تطبيقات أمرية (Imperative API)==
في الحالات التي لا يكون فيها استخدام مكوّنٍ أمرًا مناسبًا، هناك أيضًا واجهة برمجة تطبيقات أمريّة متاحة كدوال ساكنة (static functions) على المكون. ومع ذلك، لا يوصى باستخدام واجهة برمجة التطبيقات الساكنة والمكون لنفس الخاصيّة لأن أي قيمة تحددها واجهة برمجة التطبيقات الساكنة ستُتَجاوز (override) بواسطة تلك التي حددها المكوّن في التصيير القادم.
+
في الحالات التي لا يكون فيها استخدام مكوّنٍ أمرًا مناسبًا، هناك أيضًا واجهة برمجة تطبيقات أمريّة متاحة كدوال ساكنة (static functions) على المكون. ومع ذلك، لا يوصى باستخدام واجهة برمجة التطبيقات الساكنة والمكون لنفس الخاصيّة لأن أي قيمة تحددها واجهة برمجة التطبيقات الساكنة ستُتَجاوز (override) وتُبدَّل بواسطة تلك التي حددها المكوّن في التصيير القادم.
 
==الثوابت==
 
==الثوابت==
‎‎<code>currentHeight</code>‎‎ (Android فقط): ارتفاع شريط الحالة.
+
 
==الخاصيّات==
+
=== ‎‎<code>currentHeight</code>‎‎ ===
 +
ارتفاع شريط الحالة، والذي يحوي ارتفاع أي ثلم (notch) في الهاتف إن وجد وهو خاص بمنصة Android فقط.
 +
==الخاصيات==
 
===‎‎<code>animated</code>‎‎===
 
===‎‎<code>animated</code>‎‎===
 
ما إذا وجب تحريك الانتقال بين تغييرات خاصيّات شريط الحالة. مدعوم لكل من الخاصيّات ‎‎<code>backgroundColor</code>‎‎، و‎‎<code>barStyle</code>‎‎، و‎‎<code>hidden</code>‎‎.
 
ما إذا وجب تحريك الانتقال بين تغييرات خاصيّات شريط الحالة. مدعوم لكل من الخاصيّات ‎‎<code>backgroundColor</code>‎‎، و‎‎<code>barStyle</code>‎‎، و‎‎<code>hidden</code>‎‎.
 +
 +
القيمة الافتراضية <code>false</code>.
 
{| class="wikitable"
 
{| class="wikitable"
 
!النوع
 
!النوع
سطر 27: سطر 112:
 
|}
 
|}
 
===‎‎<code>backgroundColor</code>‎‎===
 
===‎‎<code>backgroundColor</code>‎‎===
لون خلفيّة شريط الحالة.
+
لون خلفيّة شريط الحالة، وقيمتها الافتراضية هي قيمة لون خلفية StatusBar الافتراضية للنظام أو اللون الأسود 'black' إن لم تُحدَّد.  
 
{| class="wikitable"
 
{| class="wikitable"
 
!النوع
 
!النوع
سطر 33: سطر 118:
 
!المنصة
 
!المنصة
 
|-
 
|-
|لون
+
|[[ReactNative/colors|لون]]
 
|لا
 
|لا
 
|Android
 
|Android
 
|}
 
|}
 
===‎‎<code>barStyle</code>‎‎===
 
===‎‎<code>barStyle</code>‎‎===
تضبط لون نص شريط الحالة.
+
تضبط لون نص شريط الحالة، وقيمتها الافتراضية <code>'default'</code>.
 
{| class="wikitable"
 
{| class="wikitable"
 
!النوع
 
!النوع
 
!مطلوب
 
!مطلوب
 
|-
 
|-
|‎‎<code>enum('default', 'light-content', 'dark-content')</code>‎‎
+
|StatusBarStyle (انظر تعريفات الأنواع في الأسفل)
 
|لا
 
|لا
 
|}
 
|}
 
===‎‎<code>hidden</code>‎‎===
 
===‎‎<code>hidden</code>‎‎===
ما إذا كان شريط الحالة مخفيًا.
+
ما إذا كان شريط الحالة مخفيًا، وقيمتها الافتراضية <code>false</code>.
  
 
{| class="wikitable"
 
{| class="wikitable"
سطر 57: سطر 142:
 
|}
 
|}
 
===‎‎<code>networkActivityIndicatorVisible</code>‎‎===
 
===‎‎<code>networkActivityIndicatorVisible</code>‎‎===
ما إذا وجب أن يكون مؤشر نشاط الشبكة مرئيًا.
+
ما إذا وجب أن يكون مؤشر نشاط الشبكة مرئيًا وقيمتها الافتراضية <code>false</code>.
 
{| class="wikitable"
 
{| class="wikitable"
 
!النوع
 
!النوع
سطر 74: سطر 159:
 
!المنصة
 
!المنصة
 
|-
 
|-
|‎‎<code>enum('fade', 'slide')</code>‎‎
+
|StatusBarAnimation
 
|لا
 
|لا
 
|iOS
 
|iOS
 
|}
 
|}
 
===‎‎<code>translucent</code>‎‎===
 
===‎‎<code>translucent</code>‎‎===
ما إذا كان شريط الحالة نصف شفاف. إذا كانت قيمتها القيمةَ ‎‎<code>true</code>‎‎، سيُرسَم التطبيق أسفل شريط الحالة. هذا مفيد عند استخدام لونٍ شبه شفاف لشريط الحالة.
+
ما إذا كان شريط الحالة نصف شفاف. إذا كانت قيمتها القيمةَ ‎‎<code>true</code>‎‎، سيُرسَم التطبيق أسفل شريط الحالة. هذا مفيد عند استخدام لونٍ شبه شفاف لشريط الحالة وقيمتها الافتراضية <code>false</code>.
 
{| class="wikitable"
 
{| class="wikitable"
 
!النوع
 
!النوع
سطر 94: سطر 179:
 
static popStackEntry(entry: any)
 
static popStackEntry(entry: any)
 
</syntaxhighlight>
 
</syntaxhighlight>
الحصول على آخر إِدخالٍ من إدخالات StatusBar من المكدس (stack) وإزالته.
+
الحصول على آخر إِدخالٍ من إدخالات <code>StatusBar</code> من المكدس (stack) وإزالته.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 102: سطر 188:
 
!الوصف
 
!الوصف
 
|-
 
|-
|entry
+
|<code>entry</code>
 
|أي نوع
 
|أي نوع
 
|نعم
 
|نعم
سطر 112: سطر 198:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
دفع إدخال StatusBar إلى المكدس. يجب تمرير القيمة المُعادة إلى التابع ‎‎<code>popStackEntry</code>‎‎ عند الاكتمال.
 
دفع إدخال StatusBar إلى المكدس. يجب تمرير القيمة المُعادة إلى التابع ‎‎<code>popStackEntry</code>‎‎ عند الاكتمال.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 119: سطر 206:
 
!الوصف
 
!الوصف
 
|-
 
|-
|props
+
|<code>props</code>
 
|أي نوع
 
|أي نوع
 
|نعم
 
|نعم
سطر 129: سطر 216:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
استبدال إدخال مكدس StatusBar موجودٍ بخاصيّاتٍ جديدة.
 
استبدال إدخال مكدس StatusBar موجودٍ بخاصيّاتٍ جديدة.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 136: سطر 224:
 
!الوصف
 
!الوصف
 
|-
 
|-
|entry
+
|<code>entry</code>
 
|أي نوع
 
|أي نوع
 
|نعم
 
|نعم
 
|الإدخال المعاد من طرف ‎‎<code>pushStackEntry</code>‎‎ لاستبداله.
 
|الإدخال المعاد من طرف ‎‎<code>pushStackEntry</code>‎‎ لاستبداله.
 
|-
 
|-
|props
+
|<code>props</code>
 
|أي نوع
 
|أي نوع
 
|نعم
 
|نعم
سطر 150: سطر 238:
 
static setBackgroundColor(color: string, [animated]: boolean)
 
static setBackgroundColor(color: string, [animated]: boolean)
 
</syntaxhighlight>
 
</syntaxhighlight>
ضبط لون خلفية شريط الحالة. نظام Android فقط.
+
ضبط لون خلفية شريط الحالة، وهو خاص بنظام Android فقط.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 158: سطر 247:
 
!الوصف
 
!الوصف
 
|-
 
|-
|color
+
|<code>color</code>
 
|سلسلة نصيّة
 
|سلسلة نصيّة
 
|نعم
 
|نعم
 
|لون الخلفيّة.
 
|لون الخلفيّة.
 
|-
 
|-
|animated
+
|<code>animated</code>
 
|قيمة منطقيّة
 
|قيمة منطقيّة
 
|لا
 
|لا
سطر 173: سطر 262:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
تعيين نمط شريط الحالة.
 
تعيين نمط شريط الحالة.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 180: سطر 270:
 
!الوصف
 
!الوصف
 
|-
 
|-
|style
+
|<code>style</code>
|StatusBarStyle
+
|<code>StatusBarStyle</code>
 
|نعم
 
|نعم
 
|نمط شريط الحالة المرغوب تعيينه.
 
|نمط شريط الحالة المرغوب تعيينه.
 
|-
 
|-
|animated
+
|<code>animated</code>
 
|قيمة منطقيّة
 
|قيمة منطقيّة
 
|لا
 
|لا
 
|تحريك تغيُّر النمط.
 
|تحريك تغيُّر النمط.
 
|}
 
|}
===‎‎<code>setHidden()</code>===‎‎
+
===<code>setHidden‎(‎‎)</code>===
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
static setHidden(hidden: boolean, [animation]: StatusBarAnimation)
 
static setHidden(hidden: boolean, [animation]: StatusBarAnimation)
سطر 196: سطر 286:
 
إظهار أو إخفاء شريط الحالة.
 
إظهار أو إخفاء شريط الحالة.
  
====المعاملات====
+
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 203: سطر 293:
 
!الوصف
 
!الوصف
 
|-
 
|-
|hidden
+
|<code>hidden</code>
 
|قيمة منطقيّة
 
|قيمة منطقيّة
 
|نعم
 
|نعم
 
|إخفاء شريط الحالة.
 
|إخفاء شريط الحالة.
 
|-
 
|-
|animation
+
|<code>animation</code>
|StatusBarAnimation
+
|<code>StatusBarAnimation</code>
 
|لا
 
|لا
|تحريكٌ اختياريّ عند تغيير خاصيّة إخفاء شريط الحالة.
+
|تحريكٌ اختياريّ عند تغيير خاصيّة إخفاء شريط الحالة وهي خاصة بنظام iOS.
 
|}
 
|}
 +
 
===‎‎<code>setNetworkActivityIndicatorVisible()</code>‎‎===
 
===‎‎<code>setNetworkActivityIndicatorVisible()</code>‎‎===
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
static setNetworkActivityIndicatorVisible(visible: boolean)
 
static setNetworkActivityIndicatorVisible(visible: boolean)
 
</syntaxhighlight>
 
</syntaxhighlight>
التحكم في إظهار مؤشر نشاط الشبكة. نظام iOS فقط.
+
التحكم في إظهار مؤشر نشاط الشبكة، وهو خاص بنظام iOS فقط.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 234: سطر 326:
 
static setTranslucent(translucent: boolean)
 
static setTranslucent(translucent: boolean)
 
</syntaxhighlight>
 
</syntaxhighlight>
التحكّم في شفافية شريط الحالة. نظام Android فقط.
+
التحكّم في شفافية شريط الحالة، وهو خاص بنظام Android فقط.
====المعاملات====
+
 
 +
المعاملات التي يأخذها:
 
{| class="wikitable"
 
{| class="wikitable"
 
!الاسم
 
!الاسم
سطر 247: سطر 340:
 
|جعل الشريط شفّافًا.
 
|جعل الشريط شفّافًا.
 
|}
 
|}
==تعريفات الأنواع (Type Definitions)==
+
==تعريفات النوع (Type Definitions)==
===StatusBarAnimation===
+
===<code>StatusBarAnimation</code>===
تحريك شريط الحالة.
+
نوع لتحريك شريط الحالة للتحريكات المطبقة على نظام iOS.
النوع: ‎‎<code>$Enum</code>‎‎
+
{| class="wikitable"
====الثوابت====
+
!النوع
 +
|-
 +
|تعداد enum
 +
|}
 +
الثوابت:
 
{| class="wikitable"
 
{| class="wikitable"
 
!القيمة
 
!القيمة
 +
!النوع
 
!الوصف
 
!الوصف
 
|-
 
|-
|none
+
|<code>'none'</code>
 +
|سلسلة نصية
 
|لا تحريك
 
|لا تحريك
 
|-
 
|-
|fade
+
|<code>'fade'</code>
 +
|سلسلة نصية
 
|تحريك تلاشي
 
|تحريك تلاشي
 
|-
 
|-
|slide
+
|<code>'slide'</code>
 +
|سلسلة نصية
 
|تحريك انزلاق
 
|تحريك انزلاق
 
|}
 
|}
===StatusBarStyle===
+
===<code>StatusBarStyle</code>===
نمط شريط الحالة.
+
نوع لنمط شريط الحالة.
النوع: ‎‎<code>$Enum</code>‎‎
+
{| class="wikitable"
====الثوابت====
+
!النوع
 +
|-
 +
|تعداد enum
 +
|}
 +
الثوابت:
 
{| class="wikitable"
 
{| class="wikitable"
 
!القيمة
 
!القيمة
 +
!النوع
 
!الوصف
 
!الوصف
 
|-
 
|-
|default
+
|<code>'default'</code>
 +
|سلسلة نصية
 
|نمط شريط الحالة الافتراضي (داكن في نظام التشغيل iOS، فاتح في نظام Android)
 
|نمط شريط الحالة الافتراضي (داكن في نظام التشغيل iOS، فاتح في نظام Android)
 
|-
 
|-
|light-content
+
|<code>'light-content'</code>
 +
|سلسلة نصية
 
|خلفيّة داكنة ونصوص بيضاء.
 
|خلفيّة داكنة ونصوص بيضاء.
 
|-
 
|-
|dark-content
+
|<code>'dark-content'</code>
 +
|سلسلة نصية
 
|خلفيّة فاتحة ونصوص داكنة (يتطلّب Android API 23 أو أحدث).
 
|خلفيّة فاتحة ونصوص داكنة (يتطلّب Android API 23 أو أحدث).
 
|}
 
|}
 
== مصادر ==
 
== مصادر ==
* [https://facebook.github.io/react-native/docs/statusbar صفحة StatusBar في توثيق React Native الرسمي.]
+
* [https://reactnative.dev/docs/statusbar صفحة StatusBar في توثيق React Native الرسمي.]
 
[[تصنيف:ReactNative]]
 
[[تصنيف:ReactNative]]
 +
[[تصنيف:React Native Component]]

المراجعة الحالية بتاريخ 14:02، 9 أكتوبر 2021

مكون للتحكم في شريط حالة التطبيق.

الاستخدام مع المكون Navigator

من الممكن تركيب العديد من مكونات StatusBar في نفس الوقت. سيتم دمج الخاصيّات بالترتيب الذي رُكّبت به مكونات StatusBar.

إليك المثال التالي (تجربة حية):

import React, { useState } from 'react';
import { Button, Platform, SafeAreaView, StatusBar, StyleSheet, Text, View } from 'react-native';

const STYLES = ['default', 'dark-content', 'light-content'];
const TRANSITIONS = ['fade', 'slide', 'none'];

const App = () => {
  const [hidden, setHidden] = useState(false);
  const [statusBarStyle, setStatusBarStyle] = useState(STYLES[0]);
  const [statusBarTransition, setStatusBarTransition] = useState(TRANSITIONS[0]);

  const changeStatusBarVisibility = () => setHidden(!hidden);

  const changeStatusBarStyle = () => {
    const styleId = STYLES.indexOf(statusBarStyle) + 1;
    if (styleId === STYLES.length) {
      setStatusBarStyle(STYLES[0]);
    } else {
      setStatusBarStyle(STYLES[styleId]);
    }
  };

  const changeStatusBarTransition = () => {
    const transition = TRANSITIONS.indexOf(statusBarTransition) + 1;
    if (transition === TRANSITIONS.length) {
      setStatusBarTransition(TRANSITIONS[0]);
    } else {
      setStatusBarTransition(TRANSITIONS[transition]);
    }
  };

  return (
    <SafeAreaView style={styles.container}>
      <StatusBar
        animated={true}
        backgroundColor="#61dafb"
        barStyle={statusBarStyle}
        showHideTransition={statusBarTransition}
        hidden={hidden} />
      <Text style={styles.textStyle}>
        StatusBar Visibility:{'\n'}
        {hidden ? 'Hidden' : 'Visible'}
      </Text>
      <Text style={styles.textStyle}>
        StatusBar Style:{'\n'}
        {statusBarStyle}
      </Text>
      {Platform.OS === 'ios' ? (
        <Text style={styles.textStyle}>
          StatusBar Transition:{'\n'}
          {statusBarTransition}
        </Text>
      ) : null}
      <View style={styles.buttonsContainer}>
        <Button
          title="Toggle StatusBar"
          onPress={changeStatusBarVisibility} />
        <Button
          title="Change StatusBar Style"
          onPress={changeStatusBarStyle} />
        {Platform.OS === 'ios' ? (
          <Button
            title="Change StatusBar Transition"
            onPress={changeStatusBarTransition} />
        ) : null}
      </View>
    </SafeAreaView>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    backgroundColor: '#ECF0F1'
  },
  buttonsContainer: {
    padding: 10
  },
  textStyle: {
    textAlign: 'center',
    marginBottom: 8
  }
});

export default App;

واجهة برمجة تطبيقات أمرية (Imperative API)

في الحالات التي لا يكون فيها استخدام مكوّنٍ أمرًا مناسبًا، هناك أيضًا واجهة برمجة تطبيقات أمريّة متاحة كدوال ساكنة (static functions) على المكون. ومع ذلك، لا يوصى باستخدام واجهة برمجة التطبيقات الساكنة والمكون لنفس الخاصيّة لأن أي قيمة تحددها واجهة برمجة التطبيقات الساكنة ستُتَجاوز (override) وتُبدَّل بواسطة تلك التي حددها المكوّن في التصيير القادم.

الثوابت

‎‎currentHeight‎‎

ارتفاع شريط الحالة، والذي يحوي ارتفاع أي ثلم (notch) في الهاتف إن وجد وهو خاص بمنصة Android فقط.

الخاصيات

‎‎animated‎‎

ما إذا وجب تحريك الانتقال بين تغييرات خاصيّات شريط الحالة. مدعوم لكل من الخاصيّات ‎‎backgroundColor‎‎، و‎‎barStyle‎‎، و‎‎hidden‎‎.

القيمة الافتراضية false.

النوع مطلوب
قيمة منطقيّة لا

‎‎backgroundColor‎‎

لون خلفيّة شريط الحالة، وقيمتها الافتراضية هي قيمة لون خلفية StatusBar الافتراضية للنظام أو اللون الأسود 'black' إن لم تُحدَّد.

النوع مطلوب المنصة
لون لا Android

‎‎barStyle‎‎

تضبط لون نص شريط الحالة، وقيمتها الافتراضية 'default'.

النوع مطلوب
StatusBarStyle (انظر تعريفات الأنواع في الأسفل) لا

‎‎hidden‎‎

ما إذا كان شريط الحالة مخفيًا، وقيمتها الافتراضية false.

النوع مطلوب
قيمة منطقيّة لا

‎‎networkActivityIndicatorVisible‎‎

ما إذا وجب أن يكون مؤشر نشاط الشبكة مرئيًا وقيمتها الافتراضية false.

النوع مطلوب المنصة
قيمة منطقيّة لا iOS

‎‎showHideTransition‎‎

تأثير الانتقال عند إظهار وإخفاء شريط الحالة باستخدام الخاصيّة ‎‎hidden‎‎. القيمة الافتراضيّة هي ‎‎'fade'‎‎.

النوع مطلوب المنصة
StatusBarAnimation لا iOS

‎‎translucent‎‎

ما إذا كان شريط الحالة نصف شفاف. إذا كانت قيمتها القيمةَ ‎‎true‎‎، سيُرسَم التطبيق أسفل شريط الحالة. هذا مفيد عند استخدام لونٍ شبه شفاف لشريط الحالة وقيمتها الافتراضية false.

النوع مطلوب المنصة
قيمة منطقيّة لا Android

التوابع

‎‎popStackEntry()‎‎

static popStackEntry(entry: any)

الحصول على آخر إِدخالٍ من إدخالات StatusBar من المكدس (stack) وإزالته.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
entry أي نوع نعم الإدخال المعاد من طرف ‎‎pushStackEntry‎‎

‎‎pushStackEntry()‎‎

static pushStackEntry(props: any)

دفع إدخال StatusBar إلى المكدس. يجب تمرير القيمة المُعادة إلى التابع ‎‎popStackEntry‎‎ عند الاكتمال.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
props أي نوع نعم كائن يحتوي على خاصيّات StatusBar لاستخدامها في إدخال المكدس (stack entry).

‎‎replaceStackEntry()‎‎

static replaceStackEntry(entry: any, props: any)

استبدال إدخال مكدس StatusBar موجودٍ بخاصيّاتٍ جديدة.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
entry أي نوع نعم الإدخال المعاد من طرف ‎‎pushStackEntry‎‎ لاستبداله.
props أي نوع نعم كائن يحتوي على خاصيّات StatusBar لاستخدامها في إدخال المكدس البديل.

‎‎setBackgroundColor()‎‎

static setBackgroundColor(color: string, [animated]: boolean)

ضبط لون خلفية شريط الحالة، وهو خاص بنظام Android فقط.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
color سلسلة نصيّة نعم لون الخلفيّة.
animated قيمة منطقيّة لا تحريك تغيُّر النمط.

‎‎setBarStyle()‎‎

static setBarStyle(style: StatusBarStyle, [animated]: boolean)

تعيين نمط شريط الحالة.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
style StatusBarStyle نعم نمط شريط الحالة المرغوب تعيينه.
animated قيمة منطقيّة لا تحريك تغيُّر النمط.

setHidden‎(‎‎)‎

static setHidden(hidden: boolean, [animation]: StatusBarAnimation)

إظهار أو إخفاء شريط الحالة.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
hidden قيمة منطقيّة نعم إخفاء شريط الحالة.
animation StatusBarAnimation لا تحريكٌ اختياريّ عند تغيير خاصيّة إخفاء شريط الحالة وهي خاصة بنظام iOS.

‎‎setNetworkActivityIndicatorVisible()‎‎

static setNetworkActivityIndicatorVisible(visible: boolean)

التحكم في إظهار مؤشر نشاط الشبكة، وهو خاص بنظام iOS فقط.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
visible قيمة منطقيّة نعم إظهار المؤشّر.

‎‎setTranslucent()

static setTranslucent(translucent: boolean)

التحكّم في شفافية شريط الحالة، وهو خاص بنظام Android فقط.

المعاملات التي يأخذها:

الاسم النوع مطلوب الوصف
translucent قيمة منطقية نعم جعل الشريط شفّافًا.

تعريفات النوع (Type Definitions)

StatusBarAnimation

نوع لتحريك شريط الحالة للتحريكات المطبقة على نظام iOS.

النوع
تعداد enum

الثوابت:

القيمة النوع الوصف
'none' سلسلة نصية لا تحريك
'fade' سلسلة نصية تحريك تلاشي
'slide' سلسلة نصية تحريك انزلاق

StatusBarStyle

نوع لنمط شريط الحالة.

النوع
تعداد enum

الثوابت:

القيمة النوع الوصف
'default' سلسلة نصية نمط شريط الحالة الافتراضي (داكن في نظام التشغيل iOS، فاتح في نظام Android)
'light-content' سلسلة نصية خلفيّة داكنة ونصوص بيضاء.
'dark-content' سلسلة نصية خلفيّة فاتحة ونصوص داكنة (يتطلّب Android API 23 أو أحدث).

مصادر