الفرق بين المراجعتين لصفحة: «ReactNative/toolbarandroid»
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ToolbarAndroid في | <noinclude>{{DISPLAYTITLE:المكون ToolbarAndroid في ReactNative}}</noinclude> | ||
<blockquote>'''ملاحظة:''' هذا المكون أُهمل وأُزيل من [[ReactNative|React Native]] ابتداء من الإصدار 0.61.0، لكن يمكنك استخدام [https://github.com/react-native-community/toolbar-android <code>toolbar-android</code>] بدلًا منها. | |||
</blockquote> | |||
مكوّن منصّة [[React/components and props|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> | ||
== الخاصيات == | |||
</ | موروثة من الخاصيات <code>[[ReactNative/view|View]]</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" | ||
!النوع | ! النوع | ||
!مطلوب | ! مطلوب | ||
|- | |- | ||
| | | <code>{title: string,icon: optionalImageSource,show: enum('always', 'ifRoom', 'never'),showWithText: bool}</code> | ||
<code>{title: string,icon: optionalImageSource,show: enum('always', 'ifRoom', 'never'),showWithText: bool}</code> | | لا | ||
|لا | |||
|} | |} | ||
=== <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> === | ||
تُستخدم لضبط اتجاه شريط الأدوات من اليسار إلى اليمين، كما يجب إضافة <code>"android:supportsRtl="true</code> إلى الملف AndroidManifest.xml الخاص بالتطبيق ومن ثم استدعاء <code>(setLayoutDirection(LayoutDirection.RTL</code> في دالة <code>onCreate</code> للنشاط الرئيسي (MainActivity). | |||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | ! النوع | ||
!مطلوب | ! مطلوب | ||
|- | |- | ||
| | | (bool) | ||
|لا | | لا | ||
|} | |} | ||
=== <code>subtitle</code> === | === <code>subtitle</code> === | ||
تحدد العنوان الفرعي لشريط الأدوات. | تحدد العنوان الفرعي لشريط الأدوات. | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | ! النوع | ||
!مطلوب | ! مطلوب | ||
|- | |- | ||
|سلسلة نصية (string) | | سلسلة نصية (string) | ||
|لا | | لا | ||
|} | |} | ||
=== <code>subtitleColor</code> === | === <code>subtitleColor</code> === | ||
تحدد لون العنوان | |||
تحدد لون العنوان الفرعيّ لشريط الأدوات. | |||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | ! النوع | ||
!مطلوب | ! مطلوب | ||
|- | |- | ||
|لون ([ | | لون (<code>[[ReactNative/colors|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" | ||
!النوع | ! النوع | ||
!مطلوب | ! مطلوب | ||
|- | |- | ||
|لون ( | | لون (<code>color</code>) | ||
|لا | | لا | ||
|} | |} | ||
== مصادر == | == مصادر == | ||
* [https:// | * [https://facebook.github.io/react-native/docs/toolbarandroid صفحة ToolbarAndroid في توثيق React Native الرسميّ] | ||
[[تصنيف: ReactNative]] | |||
[[تصنيف: React Native Component]] |
المراجعة الحالية بتاريخ 12:23، 12 أكتوبر 2021
ملاحظة: هذا المكون أُهمل وأُزيل من React Native ابتداء من الإصدار 0.61.0، لكن يمكنك استخدام
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
.
actions
تضع الإجراءات المحتملة في شريط الأدوات كجزءٍ من قائمة الإجراءات، حيث تظهر كأيقوناتٍ أو نصٍّ على يمين شريط الأدوات، وفي حال لم تتّسع فستوضع في قائمة الفائض overflow
، وتأخذ هذه الخاصيّة مصفوفةً من الكائنات، ولكلّ كائنٍ المفاتيح التالية:
title
: عنوان الإجراء، وهو مطلوب.icon
: أيقونة الإجراء، مثل: .require('./some_icon.png')
show
: يحدد عرض الإجراء كأيقونةٍ أو إخفاءه في قائمة الفائض (overflow)، وله القيمalways
، وifRoom
، وnever
.showWithText
: قيمة منطقية، يحدِّد إظهار النص بجانب الأيقونة أو عدم إظهاره.
النوع | مطلوب |
---|---|
{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 )
|
لا |