الفرق بين المراجعتين لصفحة: «ReactNative/toolbarandroid»
جميل-بيلوني (نقاش | مساهمات) |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ToolbarAndroid في React Native}}</noinclude> | <noinclude>{{DISPLAYTITLE:ToolbarAndroid في React Native}}</noinclude><blockquote>'''''ملاحظة:''' مهملة وأزيلت من React Native ابتداء من الإصدار 0.61.0. استخدم [https://github.com/react-native-community/toolbar-android @react-native-community/toolbar-android] بدلًا منها.''</blockquote>مكوّن [[React]] الذي يغلّف الأداة <code>[https://developer.android.com/reference/android/support/v7/widget/Toolbar.html Toolbar]</code> الخاصة بمنصّة Android فقط، حيث يمكن لشريط الأدوات (Toolbar) إظهار الشعار (logo) ورمز شريط التنقّل (navigation icon) والعنوان الرئيسي والفرعي وقائمة الإجراءات (actions). حيث يتوضّع العنوان الرئيسي والفرعي في المنتصف كونه ممتد، في حين يتوضّع الشعار ورمز شريط التنقل على اليسار، أما قائمة الإجراءات فعلى اليمين. | ||
'''''ملاحظة:''' مهملة وأزيلت من React Native ابتداء من الإصدار 0.61.0. استخدم | |||
مكوّن | في حال احتوى شريط الأدوات فقط على مكوّن ابن، فإنه يتوضّع بين العنوان وقائمة الإجراءات. | ||
كما يدعم شريط الأدوات استخدام الصور البعيدة (remote) كرموز للشعار وشريط التنقل وقائمة الإجراءات, ويُستخدم ذلك فقط في الوضع DEV حيث يترجَم <code>require('./some_icon.png')</code> إلى عنوان URL. إلا أنه يجب دائمًا في وضع الإصدار (release mode) استخدام مصدر قابل للرسم (drawable resource) من أجل هذه الرموز (icons). بالتالي فإنه لا يجب استخدام العناوين <code>{uri: '<nowiki>http://...'}</nowiki></code> بشكل صريح لكي يستطيع <code>require('./some_icon.png')</code> تلقائيًا اختيار المصدر المناسب لهذه الرموز. | |||
== مثال == | |||
== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
render: function() { | render: function() { | ||
سطر 27: | سطر 24: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == الخاصيات (Props) == | ||
موروثة من | موروثة من خاصيّات المكوّن <code>[[ReactNative/view#.D8.A7.D9.84.D8.AE.D8.A7.D8.B5.D9.8A.D8.A7.D8.AA|View]]</code>. | ||
=== <code>'''actions'''</code> === | === <code>'''actions'''</code> === | ||
سطر 42: | سطر 39: | ||
!مطلوب | !مطلوب | ||
|- | |- | ||
|مصفوفة | |مصفوفة من الكائنات: | ||
<code>{title: string,icon: optionalImageSource,show: enum('always', 'ifRoom', 'never'),showWithText: bool}</code> | |||
|لا | |لا | ||
|} | |} | ||
=== <code> | === <code>contentInsetStart</code> === | ||
تحدد دخول المحتوى لحافة بداية شريط | تحدد دخول المحتوى لحافة بداية شريط الأدوات، حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة، كما يحدد الهامش الأصغري لهذا المحتوى، ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة. | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 57: | سطر 55: | ||
=== <code>'''contentInsetEnd'''</code> === | === <code>'''contentInsetEnd'''</code> === | ||
تحدد دخول المحتوى لحافة نهاية شريط | تحدد دخول المحتوى لحافة نهاية شريط الأدوات، حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة، كما يحدد الهامش الأصغري لهذا المحتوى ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة. | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 77: | سطر 75: | ||
=== <code>'''navIcon'''</code> === | === <code>'''navIcon'''</code> === | ||
تحدد رمز شريط التنقّل. | تحدد رمز (أيقونة) شريط التنقّل. | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 87: | سطر 85: | ||
=== <code>'''onActionSelected'''</code> === | === <code>'''onActionSelected'''</code> === | ||
رد نداء (callback) يُستدعَى عند اختيار الإجراء، حيث يُمرَّر له موقع الإجراء ضمن مصفوفة الإجراءات (actions array). | |||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 97: | سطر 95: | ||
=== <code>'''onIconClicked'''</code> === | === <code>'''onIconClicked'''</code> === | ||
رد نداء (callback) يُستدعَى عند اختيار الرمز (الأيقونة). | |||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 107: | سطر 105: | ||
=== <code>'''overflowIcon'''</code> === | === <code>'''overflowIcon'''</code> === | ||
تحدد رمز قائمة الفيض. | تحدد رمز (أيقونة) قائمة الفيض (overflow icon). | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 117: | سطر 115: | ||
=== <code>'''rtl'''</code> === | === <code>'''rtl'''</code> === | ||
تُستخدَم لضبط اتجاه شريط الأدوات من اليسار إلى اليمين، وإضافة لهذه الخاصيّة، يجب إضافة <code>android:supportsRtl="true"</code> إلى الملف <code>AndroidManifest.xml</code> الخاص بالتطبيق ومن ثم استدعاء <code>setLayoutDirection(LayoutDirection.RTL)</code> في دالة <code>onCreate</code> للنشاط الرئيسي (MainActivity). | |||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 147: | سطر 145: | ||
=== <code>'''testID'''</code> === | === <code>'''testID'''</code> === | ||
تُستخدم لوضع هذا الإظهار في | تُستخدم لوضع هذا الإظهار في الاختبارات الشاملة (end-to-end). | ||
{| class="wikitable" | {| class="wikitable" | ||
!النوع | !النوع | ||
سطر 172: | سطر 170: | ||
!مطلوب | !مطلوب | ||
|- | |- | ||
|لون ([ | |لون ([[ReactNative/colors|color]]) | ||
|لا | |لا | ||
|} | |} | ||
== | == مصادر == | ||
* [https:// | * [https://reactnative.dev/docs/toolbarandroid صفحة ToolbarAndroid ''' '''في توثيق React Native الرسمي.] |
مراجعة 08:08، 18 ديسمبر 2020
ملاحظة: مهملة وأزيلت من 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
.
actions
تضع الإجراءات المحتملة في شريط الأدوات كجزء من قائمة الإجراءات. حيث تظهر كرموز أو نص على يمين شريط الأدوات, وفي حال عدم إمكانية استيعابها فإنها توضع في القائمة overflow
. وتأخذ هذه الخاصيّة أي مصفوفة من الكائنات, ولكل كائن المفاتيح التالية:
title
: عنوان الإجراء. مطلوب.icon
: رمز الإجراء, مثلrequire('./some_icon.png')
.show
: يحدد فيما إذا سيتم إظهار رمز الإجراء أو إخفائه في قائمة الفيض (overflow). وله القيمalways
وifRoom
وnever
.showWithText
: قيمة منطقية لتحدد فيما إذا سيتم إظهار النص بجانب الرمز أم لا.
النوع | مطلوب |
---|---|
مصفوفة من الكائنات:
|
لا |
contentInsetStart
تحدد دخول المحتوى لحافة بداية شريط الأدوات، حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة، كما يحدد الهامش الأصغري لهذا المحتوى، ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة.
النوع | مطلوب |
---|---|
عدد (number) | لا |
contentInsetEnd
تحدد دخول المحتوى لحافة نهاية شريط الأدوات، حيث يؤثر هذا على المساحة الصالحة لمحتوى شريط الأدوات غير رمز شريط التنقّل والقائمة، كما يحدد الهامش الأصغري لهذا المحتوى ويمكن استخدامه لمحاذاة محتوى شريط الأدوات بكفاءة على طول خطوط الشبكة المعروفة.
النوع | مطلوب |
---|---|
عدد (number) | لا |
logo
تحدد شعار شريط الأدوات.
النوع | مطلوب |
---|---|
مصدر الصورة (Image.propTypes.source) | لا |
تحدد رمز (أيقونة) شريط التنقّل.
النوع | مطلوب |
---|---|
مصدر الصورة (Image.propTypes.source) | لا |
onActionSelected
رد نداء (callback) يُستدعَى عند اختيار الإجراء، حيث يُمرَّر له موقع الإجراء ضمن مصفوفة الإجراءات (actions array).
النوع | مطلوب |
---|---|
دالة (function) | لا |
onIconClicked
رد نداء (callback) يُستدعَى عند اختيار الرمز (الأيقونة).
النوع | مطلوب |
---|---|
دالة (function) | لا |
overflowIcon
تحدد رمز (أيقونة) قائمة الفيض (overflow icon).
النوع | مطلوب |
---|---|
مصدر الصورة (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) | لا |