الفرق بين المراجعتين لصفحة: «ReactNative/platformcolor»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة PlatformColor في React Native}}</noinclude> | |||
<syntaxhighlight lang="javascript"> | يمكنك استخدام الدالة <code>PlatformColor</code> للوصول إلى الألوان الأصيلة على المنصة الهدف من خلال توفير قيمة السلسلة النصية المقابلة للون الأصيل. <syntaxhighlight lang="javascript"> | ||
PlatformColor(color1, [color2, ...colorN]); | PlatformColor(color1, [color2, ...colorN]); | ||
</syntaxhighlight> | </syntaxhighlight>مرّر سلسلة إلى الدالة <code>PlatformColor</code> بشرط وجودها على هذه المنصة، وستعيد اللون الأصيل المقابل، والذي يمكنك تطبيقه في أي جزء من تطبيقك. إن مرّرت أكثر من قيمة سلسلة نصية واحدة إلى الدالة <code>PlatformColor</code>، فستتعامل مع القيمة الأولى على أنها القيمة الافتراضية وتتعامل مع القيم الباقية على أنها قيم احتياطية.<syntaxhighlight lang="javascript"> | ||
PlatformColor('bogusName', 'linkColor'); | PlatformColor('bogusName', 'linkColor'); | ||
</syntaxhighlight>بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك. | </syntaxhighlight>بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك. | ||
== الألوان المدعومة == | |||
اطّلع على ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة: | اطّلع على ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة: | ||
سطر 17: | سطر 17: | ||
[https://developer.apple.com/documentation/uikit/uicolor/standard_colors ألوان UIColor المعيارية]. | [https://developer.apple.com/documentation/uikit/uicolor/standard_colors ألوان UIColor المعيارية]. | ||
[https://developer.apple.com/documentation/uikit/uicolor/ui_element_colors ألوان عنصر واجهة المستخدم UIColor].<blockquote>'''ملاحظات المطور''' | [https://developer.apple.com/documentation/uikit/uicolor/ui_element_colors ألوان عنصر واجهة المستخدم UIColor].<blockquote>'''ملاحظات المطور''' '''في الويب''': إن كنت على دراية بتصميم الأنظمة، فهناك طريقة أخرى للتفكير في هذا الأمر وهي أن الدالة <code>PlatformColor</code> تتيح لك الاستفادة من الرموز اللونية لنظام التصميم المحلي بحيث يمكن مزج تطبيقك مزجًا صحيحًا.</blockquote> | ||
== مثال == | |||
إليك المثال التالي ([https://snack.expo.dev/@hsoubwiki/platformcolor-example تجربة حية]):<syntaxhighlight lang="javascript"> | |||
<syntaxhighlight lang="javascript"> | |||
import React from 'react'; | import React from 'react'; | ||
import { | import { | ||
سطر 65: | سطر 63: | ||
export default App; | export default App; | ||
</syntaxhighlight>يجب أن تتطابق قيمة السلسلة النصية المقدَّمة إلى الدالة <code>PlatformColor</code> مع السلسلة الموجودة على المنصة الأصيلة حيث يُشغَّل التطبيق. يمكن تجنب أخطاء وقت التشغيل من خلال تغليف الدالة بفحص المنصة، إما عن طريق <code>Platform.OS === 'platform'</code> أو <code>Platform.select()</code> كما هو موضح في المثال السابق.<blockquote>'''ملاحظة''': يمكنك العثور على مثال كامل يوضح الاستخدام الصحيح والمحدد للدالة PlatformColor في [https://github.com/facebook/react-native/blob/master/packages/rn-tester/js/examples/PlatformColor/PlatformColorExample.js PlatformColorExample.js].</blockquote> | </syntaxhighlight>يجب أن تتطابق قيمة السلسلة النصية المقدَّمة إلى الدالة <code>PlatformColor</code> مع السلسلة الموجودة على المنصة الأصيلة حيث يُشغَّل التطبيق. يمكن تجنب أخطاء وقت التشغيل من خلال تغليف الدالة بفحص المنصة، إما عن طريق <code>Platform.OS === 'platform'</code> أو <code>Platform.select()</code> كما هو موضح في المثال السابق.<blockquote>'''ملاحظة''': يمكنك العثور على مثال كامل يوضح الاستخدام الصحيح والمحدد للدالة <code>PlatformColor</code> في [https://github.com/facebook/react-native/blob/master/packages/rn-tester/js/examples/PlatformColor/PlatformColorExample.js PlatformColorExample.js].</blockquote> | ||
== مصادر == | == مصادر == | ||
* [https://reactnative.dev/docs/platformcolor صفحة PlatformColor في توثيق React Native الرسمي.] | * [https://reactnative.dev/docs/platformcolor صفحة PlatformColor في توثيق React Native الرسمي.] | ||
[[تصنيف:ReactNative]] | |||
[[تصنيف:ReactNative API]] |
مراجعة 13:42، 6 أكتوبر 2021
يمكنك استخدام الدالة PlatformColor
للوصول إلى الألوان الأصيلة على المنصة الهدف من خلال توفير قيمة السلسلة النصية المقابلة للون الأصيل.
PlatformColor(color1, [color2, ...colorN]);
مرّر سلسلة إلى الدالة PlatformColor
بشرط وجودها على هذه المنصة، وستعيد اللون الأصيل المقابل، والذي يمكنك تطبيقه في أي جزء من تطبيقك. إن مرّرت أكثر من قيمة سلسلة نصية واحدة إلى الدالة PlatformColor
، فستتعامل مع القيمة الأولى على أنها القيمة الافتراضية وتتعامل مع القيم الباقية على أنها قيم احتياطية.
PlatformColor('bogusName', 'linkColor');
بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك.
الألوان المدعومة
اطّلع على ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة:
- في نظام iOS (ترميزَي Objective-C و Swift):
ألوان عنصر واجهة المستخدم UIColor.
ملاحظات المطور في الويب: إن كنت على دراية بتصميم الأنظمة، فهناك طريقة أخرى للتفكير في هذا الأمر وهي أن الدالة
PlatformColor
تتيح لك الاستفادة من الرموز اللونية لنظام التصميم المحلي بحيث يمكن مزج تطبيقك مزجًا صحيحًا.
مثال
إليك المثال التالي (تجربة حية):
import React from 'react';
import {
Platform,
PlatformColor,
StyleSheet,
Text,
View
} from 'react-native';
const App = () => (
<View style={styles.container}>
<Text style={styles.label}>
I am a special label color!
</Text>
</View>
);
const styles = StyleSheet.create({
label: {
padding: 16,
...Platform.select({
ios: {
color: PlatformColor('label'),
backgroundColor:
PlatformColor('systemTealColor'),
},
android: {
color: PlatformColor('?android:attr/textColor'),
backgroundColor:
PlatformColor('@android:color/holo_blue_bright'),
},
default: { color: 'black' }
})
},
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
export default App;
يجب أن تتطابق قيمة السلسلة النصية المقدَّمة إلى الدالة PlatformColor
مع السلسلة الموجودة على المنصة الأصيلة حيث يُشغَّل التطبيق. يمكن تجنب أخطاء وقت التشغيل من خلال تغليف الدالة بفحص المنصة، إما عن طريق Platform.OS === 'platform'
أو Platform.select()
كما هو موضح في المثال السابق.
ملاحظة: يمكنك العثور على مثال كامل يوضح الاستخدام الصحيح والمحدد للدالة
PlatformColor
في PlatformColorExample.js.