الفرق بين المراجعتين ل"ReactNative/toolbarandroid"
رقية-بورية (نقاش | مساهمات) (رفع المحتوى) |
|||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE:ToolbarAndroid في | + | <noinclude>{{DISPLAYTITLE:المكون ToolbarAndroid في ReactNative}}</noinclude> |
+ | <blockquote>'''ملاحظة:''' مهملة وأزيلت من React Native ابتداء من الإصدار 0.61.0. استخدم [https://github.com/react-native-community/toolbar-android <code>@react-native-community/toolbar-android</code>] بدلًا منها. | ||
+ | </blockquote> | ||
+ | مكوّن منصّة React الذي يغلّف الأداة [https://developer.android.com/reference/android/support/v7/widget/Toolbar.html <code>Toolbar</code>] الخاصة بمنصّة Android فقط، حيث يمكن لشريط الأدوات (Toolbar) عرض شعارٍ (logo) ورمز تنقّل (navigation icon) وعنوانٍ رئيسيٍّ وفرعيٍّ وقائمة إجراءاتٍ (actions)، حيث يتوضّع العنوان الرئيسي والفرعي في المنتصف كونهما يتوسّعان بينما يتوضّع الشعار ورمز شريط التنقل على اليسار، وقائمة الإجراءات على اليمين. | ||
− | في حال احتوى شريط الأدوات | + | في حال احتوى شريط الأدوات على مكوّن ابنٍ وحيدٍ فسيعرَض بين العنوان وقائمة الإجراءات. |
− | + | على الرغم من دعم شريط الأدوات استخدام الصور البعيدة (remote) كرموز للشعار وشريط التنقل وقائمة الإجراءات إلا أن ذلك يُستخدَم فقط في الوضع DEV حيث يترجَم <code>require('./some_icon.png')</code> إلى عنوان URL مجمّعٍ. إلا إنه يجب استخدام مصدرٍ قابل للرسم لهذه الرموز في وضع الإصدار (release mode) دائمًا، بالتالي لا تستخدَم العناوين <code>{uri: 'http://...'}</code> بشكلٍ صريحٍ، لكي يستطيع <code>require('./some_icon.png')</code> اختيار المصدر المناسب لهذه الرموز تلقائيًا. | |
+ | __toc__ | ||
+ | == مثال == | ||
− | + | <syntaxhighlight lang="javascript">render: function() { | |
− | <syntaxhighlight lang="javascript"> | ||
− | render: function() { | ||
return ( | return ( | ||
<ToolbarAndroid | <ToolbarAndroid | ||
سطر 20: | سطر 23: | ||
showSettings(); | showSettings(); | ||
} | } | ||
− | } | + | }</syntaxhighlight> |
+ | == الخاصيات == | ||
− | </ | + | موروثة من الخاصيات [https://reactnative.dev/docs/view#props <code>View props</code>]. |
− | == | + | === <code>actions</code> === |
− | |||
− | + | تضع الإجراءات المحتملة في شريط الأدوات كجزءٍ من قائمة الإجراءات، حيث تظهر كأيقوناتٍ أو نصٍّ على يمين شريط الأدوات، وفي حال لم تتّسع فستوضع في قائمة الفائض <code>overflow</code>. وتأخذ هذه الخاصيّة مصفوفةً من الكائنات، ولكلّ كائنٍ المفاتيح التالية: | |
− | تضع الإجراءات المحتملة في شريط الأدوات | ||
− | * <code>title</code> : عنوان | + | * <code>title</code>: عنوان الإجراء، مطلوب. |
− | * <code>icon</code> : | + | * <code>icon</code>: أيقونة الإجراء، مثل <code>require('./some_icon.png')</code>. |
− | * <code>show</code> : يحدد | + | * <code>show</code>: يحدد عرض الإجراء كأيقونةٍ أو إخفاءه في قائمة الفائض (overflow)، وله القيم <code>always</code> و <code>ifRoom</code> و <code>never</code>. |
− | * <code>showWithText</code> : قيمة | + | * <code>showWithText</code>: قيمة منطقية، يحدِّد إظهار النص بجانب الأيقونة أو عدم إظهاره. |
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |مصفوفة من | + | | مصفوفة من الكائن (array of object: {title: string,icon: optionalImageSource,show: enum('always', 'ifRoom', 'never'),showWithText: bool}) |
− | + | | لا | |
− | |لا | ||
|} | |} | ||
=== <code>contentInsetStart</code> === | === <code>contentInsetStart</code> === | ||
− | تحدد | + | |
+ | تحدد شكل محتوى حافة بداية شريط الأدوات، حيث سيؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات أكثر من رمز شريط التنقّل والقائمة، كما يحدد الحدّ الأدنى لهامش المحتوى، ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءةٍ على طول خطوط الشبكة المعروفة. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |عدد (number) | + | | عدد (number) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>contentInsetEnd</code> === | === <code>contentInsetEnd</code> === | ||
− | تحدد | + | |
+ | تحدد شكل محتوى حافة نهاية شريط الأدوات، حيث سيؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات أكثر من رمز شريط التنقّل والقائمة، كما يحدد الحدّ الأدنى لهامش المحتوى، ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءةٍ على طول خطوط الشبكة المعروفة. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |عدد (number) | + | | عدد (number) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>logo</code> === | === <code>logo</code> === | ||
− | + | ||
+ | تحدّد شعار شريط الأدوات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |مصدر الصورة ( | + | | مصدر الصورة (optionalImageSource) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>navIcon</code> === | === <code>navIcon</code> === | ||
− | تحدد | + | |
+ | تحدد أيقونة شريط التنقّل. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |مصدر الصورة ( | + | | مصدر الصورة (optionalImageSource) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>onActionSelected</code> === | === <code>onActionSelected</code> === | ||
− | + | ||
+ | ردّ نداءٍ يستدعى عند اختيار الإجراء، حيث يُمرَّر لها موقع الإجراء ضمن مصفوفة الإجراءات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |دالة (function) | + | | دالة (function) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>onIconClicked</code> === | === <code>onIconClicked</code> === | ||
− | رد | + | |
+ | رد نداءٍ يستدعى عند اختيار الرمز. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |دالة (function) | + | | دالة (function) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>overflowIcon</code> === | === <code>overflowIcon</code> === | ||
− | تحدد | + | |
+ | تحدد أيقونة قائمة الفائض. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |مصدر الصورة ( | + | | مصدر الصورة (optionalImageSource) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>rtl</code> === | === <code>rtl</code> === | ||
− | + | ||
+ | تُستخدم لضبط اتجاه شريط الأدوات من اليسار إلى اليمين، كما يجب إضافة android:supportsRtl="true" إلى الملف AndroidManifest.xml الخاص بالتطبيق ومن ثم استدعاء <code>setLayoutDirection(LayoutDirection.RTL)</code> في دالة <code>onCreate</code> للنشاط الرئيسي (MainActivity). | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |قيمة منطقية (bool) | + | | قيمة منطقية (bool) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>subtitle</code> === | === <code>subtitle</code> === | ||
+ | |||
تحدد العنوان الفرعي لشريط الأدوات. | تحدد العنوان الفرعي لشريط الأدوات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |سلسلة نصية (string) | + | | سلسلة نصية (string) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>subtitleColor</code> === | === <code>subtitleColor</code> === | ||
− | تحدد لون العنوان | + | |
+ | تحدد لون العنوان الفرعيّ لشريط الأدوات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |لون ([ | + | | لون ([https://reactnative.dev/docs/colors <code>color</code>]) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>testID</code> === | === <code>testID</code> === | ||
− | تُستخدم لوضع هذا الإظهار في الاختبارات | + | |
+ | تُستخدم لوضع هذا الإظهار في الاختبارات الشّاملة (end-to-end). | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |سلسلة نصية (string) | + | | سلسلة نصية (string) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>title</code> === | === <code>title</code> === | ||
− | تحدد العنوان | + | |
+ | تحدد العنوان الرئيسيّ لشريط الأدوات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |سلسلة نصية (string) | + | | سلسلة نصية (string) |
− | |لا | + | | لا |
|} | |} | ||
=== <code>titleColor</code> === | === <code>titleColor</code> === | ||
− | تحدد لون العنوان | + | |
+ | تحدد لون العنوان الرئيسيّ لشريط الأدوات. | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
− | !النوع | + | ! النوع |
− | !مطلوب | + | ! مطلوب |
|- | |- | ||
− | |لون ([ | + | | لون ([https://reactnative.dev/docs/colors <code>color</code>]) |
− | |لا | + | | لا |
|} | |} | ||
== مصادر == | == مصادر == | ||
− | * [https:// | + | * [https://facebook.github.io/react-native/docs/toolbarandroid صفحة ToolbarAndroid في توثيق React Native الرسميّ] |
− | [[تصنيف: | + | |
+ | [[تصنيف: Reactative]] |
مراجعة 09:52، 19 فبراير 2021
ملاحظة: مهملة وأزيلت من 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) دائمًا، بالتالي لا تستخدَم العناوين {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();
}
}
الخاصيات
موروثة من الخاصيات 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) | لا |
logo
تحدّد شعار شريط الأدوات.
النوع | مطلوب |
---|---|
مصدر الصورة (optionalImageSource) | لا |
تحدد أيقونة شريط التنقّل.
النوع | مطلوب |
---|---|
مصدر الصورة (optionalImageSource) | لا |
onActionSelected
ردّ نداءٍ يستدعى عند اختيار الإجراء، حيث يُمرَّر لها موقع الإجراء ضمن مصفوفة الإجراءات.
النوع | مطلوب |
---|---|
دالة (function) | لا |
onIconClicked
رد نداءٍ يستدعى عند اختيار الرمز.
النوع | مطلوب |
---|---|
دالة (function) | لا |
overflowIcon
تحدد أيقونة قائمة الفائض.
النوع | مطلوب |
---|---|
مصدر الصورة (optionalImageSource) | لا |
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 )
|
لا |