ToolbarAndroid في React Native

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

ملاحظة: مهملة وأزيلت من React Native ابتداء من الإصدار 0.61.0. استخدم  @react-native-community/toolbar-android بدلًا منها.

مكوّن منصّة React الذي يغلّف الأداة Toolbar الخاصة بمنصّة Android فقط.  حيث يمكن لشريط الأدوات (Toolbar) إظهار الشعار (logo) ورمز شريط التنقّل (navigation icon) والعنوان الرئيسي والفرعي وقائمة الإجراءات (actions). حيث يتوضّع العنوان الرئيسي والفرعي في المنتصف كونه ممتد, في حين يتوضّع الشعار ورمز شريط التنقل على اليسار, أما قائمة الإجراءات فعلى اليمين.

في حال احتوى شريط الأدوات فقط على مكوّن ابن, فإنه يتوضّع بين العنوان وقائمة الإجراءات.

كما يدعم شريط الأدوات استخدام الصور البعيدة (remote) كرموز للشعار وشريط التنقل وقائمة الإجراءات, ويُستخدم ذلك فقط في الوضع DEV حيث يترجَم require('./some_icon.png') إلى عنوان URL. إلا إنه يجب دائمًا في وضع الإصدار (release mode) استخدام مصدر قابل للرسم (drawable resource) من أجل هذه الرموز (icons). بالتالي فإنه لا يجب استخدام العناوين {uri: 'http://...'} بشكل صريح, لكي يستطيع require('./some_icon.png') تلقائيًا اختيار المصدر المناسب لهذه الرموز.  

مثال

render: function() {
  return (
    <ToolbarAndroid
      logo={require('./app_logo.png')}
      title="AwesomeApp"
      actions={[{title: 'Settings', icon: require('./icon_settings.png'), show: 'always'}]}
      onActionSelected={this.onActionSelected} />
  )
},
onActionSelected: function(position) {
  if (position === 0) { // index of 'Settings'
    showSettings();
  }
}

الخاصيّات (Props)

موروثة من الخاصيّات View Props.

actions

تضع الإجراءات المحتملة في شريط الأدوات كجزء من قائمة الإجراءات. حيث تظهر كرموز أو نص على يمين شريط الأدوات, وفي حال عدم إمكانية استيعابها فإنها توضع في القائمة overflow. وتأخذ هذه الخاصيّة أي مصفوفة من الكائنات, ولكل كائن المفاتيح التالية:

  • title : عنوان الإجراء. مطلوب.
  • icon : رمز الإجراء, مثل require('./some_icon.png').
  • show : يحدد فيما إذا سيتم إظهار رمز الإجراء أو إخفائه في قائمة الفيض (overflow). وله القيم always و ifRoom و never.
  • showWithText : قيمة منطقية لتحدد فيما إذا سيتم إظهار النص بجانب الرمز أم لا.
النوع مطلوب
مصفوفة كائنات (array of object: {title: string,icon: optionalImageSource,show: enum('always', 'ifRoom', 'never'),showWithText: bool}) لا

contentInsetStart

تحدد دخول المحتوى لحافة بداية شريط الأدوات. حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة, كما يحدد الهامش الأصغري لهذا المحتوى, ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة.

النوع مطلوب
عدد (number) لا

contentInsetEnd

تحدد دخول المحتوى لحافة نهاية شريط الأدوات. حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة, كما يحدد الهامش الأصغري لهذا المحتوى, ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة.

النوع مطلوب
عدد (number) لا

تحدد شعار شريط الأدوات.

النوع مطلوب
مصدر الصورة (Image.propTypes.source) لا

navIcon

تحدد رمز شريط التنقّل.

النوع مطلوب
مصدر الصورة (Image.propTypes.source) لا

onActionSelected

تٌستدعى هذه الدالة عند اختيار الإجراء, حيث يُمرَّر لها موقع الإجراء ضمن مصفوفة الإجراءات.

النوع مطلوب
دالة (function) لا

onIconClicked

تٌستدعى هذه الدالة عند اختيار الرمز.

النوع مطلوب
دالة (function) لا

overflowIcon

تحدد رمز قائمة الفيض.

النوع مطلوب
مصدر الصورة (Image.propTypes.source) لا

rtl

تُستخدم لضبط اتجاه شريط الأدوات من اليسار إلى اليمين, كما يجب إضافة لهذه الخاصيّة إضافة android:supportsRtl="true" إلى الملف AndroidManifest.xml الخاص بالتطبيق ومن ثم استدعاء setLayoutDirection(LayoutDirection.RTL) في دالة onCreate للنشاط الرئيسي (MainActivity).

النوع مطلوب
قيمة منطقية (bool) لا

subtitle

تحدد العنوان الفرعي لشريط الأدوات.

النوع مطلوب
سلسلة نصية (string) لا

subtitleColor

تحدد لون العنوان الفرعي لشريط الأدوات.

النوع مطلوب
لون (color) لا

testID

تُستخدم لوضع هذا الإظهار في الاختبار الشاملة (end-to-end).

النوع مطلوب
سلسلة نصية (string) لا

title

تحدد العنوان الرئيسي لشريط الأدوات.

النوع مطلوب
سلسلة نصية (string) لا

titleColor

تحدد لون العنوان الرئيسي لشريط الأدوات.

النوع مطلوب
لون (color) لا

مصادر