الفرق بين المراجعتين ل"ReactNative/platformcolor"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'== الدالة PlatformColor == <syntaxhighlight lang="javascript"> PlatformColor(color1, [color2, ...colorN]); </syntaxhighlight>يمكنك استخدام الدالة...')
 
سطر 2: سطر 2:
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
PlatformColor(color1, [color2, ...colorN]);
 
PlatformColor(color1, [color2, ...colorN]);
</syntaxhighlight>يمكنك استخدام الدالة <code>PlatformColor</code> للوصول إلى الألوان الأصيلة على المنصة الهدف من خلال توفير قيمة السلسلة المقابلة للون الأصيل. مرّر سلسلة إلى الدالة <code>PlatformColor</code> وبشرط وجودها على هذه المنصة، وستعيد اللون الأصيل المقابل، والذي يمكنك تطبيقه في أي جزء من تطبيقك.
+
</syntaxhighlight>يمكنك استخدام الدالة <code>PlatformColor</code> للوصول إلى الألوان الأصيلة على المنصة الهدف من خلال توفير قيمة السلسلة النصية المقابلة للون الأصيل. مرّر سلسلة إلى الدالة <code>PlatformColor</code> بشرط وجودها على هذه المنصة، وستعيد اللون الأصيل المقابل، والذي يمكنك تطبيقه في أي جزء من تطبيقك. إن مرّرت أكثر من قيمة سلسلة نصية واحدة إلى الدالة <code>PlatformColor</code>، فستتعامل مع القيمة الأولى على أنها القيمة الافتراضية وتتعامل مع القيم الباقية على أنها قيم احتياطية.<syntaxhighlight lang="javascript">
 
 
إن مرّرت أكثر من قيمة سلسلة واحدة إلى الدالة <code>PlatformColor</code>، فستتعامل مع القيمة الأولى على أنها القيمة الافتراضية وتتعامل مع القيم الباقية على أنها قيم احتياطية.<syntaxhighlight lang="javascript">
 
 
PlatformColor('bogusName', 'linkColor');
 
PlatformColor('bogusName', 'linkColor');
 
</syntaxhighlight>بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك.
 
</syntaxhighlight>بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك.
  
 
==== الألوان المدعومة ====
 
==== الألوان المدعومة ====
اطّلع ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة:
+
اطّلع على ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة:
  
 
* '''في نظام Android''':
 
* '''في نظام Android''':
سطر 19: سطر 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>
 
'''في الويب''': إن كنت على دراية بتصميم الأنظمة، فهناك طريقة أخرى للتفكير في هذا الأمر وهي أن الدالة <code>PlatformColor</code> تتيح لك الاستفادة من الرموز اللونية لنظام التصميم المحلي بحيث يمكن مزج تطبيقك مزجًا صحيحًا.</blockquote>
سطر 67: سطر 65:
  
 
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>'''ملاحظة''': يمكنك العثور على مثال كامل يوضح الاستخدام الصحيح والمحدد للدالة PlatformColor في  [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 الرسمي.]

مراجعة 01:15، 25 يونيو 2021

الدالة PlatformColor

PlatformColor(color1, [color2, ...colorN]);

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

PlatformColor('bogusName', 'linkColor');

بما أن الألوان الأصيلة يمكن أن تكون حساسة للقوالب و / أو التباين العالي، فإن هذا المنطق الخاص بالمنصة يترجم أيضًا داخل مكوناتك.

الألوان المدعومة

اطّلع على ما يلي للحصول على قائمة كاملة بأنواع ألوان الأنظمة المدعومة:

  • في نظام Android:
    • R.attr: البادئة ‎?attr
    • R.color: البادئة ‎@android:color
  • في نظام iOS (ترميزَي Objective-C و Swift):

ألوان UIColor المعيارية.

ألوان عنصر واجهة المستخدم 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.

مصادر