الفرق بين المراجعتين لصفحة: «ReactNative/touchablewithoutfeedback»

من موسوعة حسوب
طلا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: TouchableWithoutFeedback في React Native}}</noinclude>
<noinclude>{{DISPLAYTITLE:المكون TouchableWithoutFeedback في React Native}}</noinclude>
لا تستخدم هذا المكون إلا لِسَببٍ وجيه. يجب على جميع العناصر التي تستجيب للضغط أن تُظهِر علامةً مرئيةً  تُعلم المستخدم بأنّها قد لُمِسَت، وهذا المكون لا يظهر أي شيء من هذا القبيل، بل يظهر وكأنّه لم يُضغَط عليه.
<blockquote>'''ملاحظة''': إذا كنت تريد طريقةً أكثر شمولية للتعامل مع عناصر الإدخال باللمس اطّلع على واجهة [[ReactNative/pressable|<code>Pressable</code>]] البرمجية.</blockquote>لا تستخدم هذا المكون إلا لِسَببٍ وجيه. يجب على جميع العناصر التي تستجيب للضغط أن تُظهِر علامةً مرئيةً  تُعلم المستخدم بأنّها قد لُمِسَت، وهذا المكون لا يظهر أي شيء من هذا القبيل، بل يظهر وكأنّه لم يُضغَط عليه.


يدعم <code>TouchableWithoutFeedback</code> مكوّنًا ابنًا واحدًا فقط. إذا كنت تريد العديد من المكونات الأبناء، فقم بتغليفها داخل مُكوّنِ‎‎<code>View</code>‎‎. والأهم من ذلك، اعلم أنّ المكوِّن <code>TouchableWithoutFeedback</code> يعمل عن طريق استنساخ مكوّنه الابن وتطبيق خاصيَّات المستجيب (responder) عليه. ولذلك من الضروري أن تُمرِّرَ أي مكوّنات وسيطة (intermediary components) هذه الخاصيات إلى مكوّن React Native الضِّمنيّ (underlying component).
يدعم <code>TouchableWithoutFeedback</code> مكوّنًا ابنًا واحدًا فقط. إذا كنت تريد العديد من المكونات الأبناء، فقم بتغليفها داخل مُكوّنِ‎‎<code>View</code>‎‎. والأهم من ذلك، اعلم أنّ المكوِّن <code>TouchableWithoutFeedback</code> يعمل عن طريق استنساخ مكوّنه الابن وتطبيق خاصيَّات المستجيب (responder) عليه. ولذلك من الضروري أن تُمرِّرَ أي مكوّنات وسيطة (intermediary components) هذه الخاصيات إلى مكوّن React Native الضِّمنيّ (underlying component).
=== مثال ===
== مثال ==
<syntaxhighlight lang="javascript">
إليك مثال بسيط لكيفية استخدام المكون:<syntaxhighlight lang="javascript">
function MyComponent(props) {
function MyComponent(props) {
   return (
   return (
     <View {...props} style={{flex: 1, backgroundColor: '#fff'}}>
     <View {...props} style={{ flex: 1, backgroundColor: '#fff' }}>
       <Text>My Component</Text>
       <Text>My Component</Text>
     </View>
     </View>
سطر 16: سطر 16:
   <MyComponent />
   <MyComponent />
</TouchableWithoutFeedback>;
</TouchableWithoutFeedback>;
</syntaxhighlight>انظر المثال الشامل التالي ([https://snack.expo.dev/@hsoubwiki/touchablewithoutfeedback تجربة حية]):<syntaxhighlight lang="javascript">
import React, { useState } from "react";
import { StyleSheet, TouchableWithoutFeedback, Text, View } from "react-native";
const TouchableWithoutFeedbackExample = () => {
  const [count, setCount] = useState(0);
  const onPress = () => {
    setCount(count + 1);
  };
  return (
    <View style={styles.container}>
      <View style={styles.countContainer}>
        <Text style={styles.countText}>Count: {count}</Text>
      </View>
      <TouchableWithoutFeedback onPress={onPress}>
        <View style={styles.button}>
          <Text>Touch Here</Text>
        </View>
      </TouchableWithoutFeedback>
    </View>
  );
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    paddingHorizontal: 10
  },
  button: {
    alignItems: "center",
    backgroundColor: "#DDDDDD",
    padding: 10
  },
  countContainer: {
    alignItems: "center",
    padding: 10
  },
  countText: {
    color: "#FF00FF"
  }
});
export default TouchableWithoutFeedbackExample;
</syntaxhighlight>
</syntaxhighlight>


سطر 38: سطر 84:
|}
|}
===‎‎<code>accessibilityLabel</code>‎‎===
===‎‎<code>accessibilityLabel</code>‎‎===
يستبدِل النص الذي يقرأه قارئ الشاشة عندما يتفاعل المستخدم مع العنصر. افتراضيًا، يُنشأ الملصق (label) عن طريق العبور عبر جميع المكوّنات الأبناء وتجميع كافة العقد النصية مفصولةً بمسافة.
يستبدِل النص الذي يقرأه قارئ الشاشة عندما يتفاعل المستخدم مع العنصر. افتراضيًا، يُنشأ العنوان أو التسمية (label) عن طريق العبور عبر جميع المكوّنات الأبناء وتجميع كافة العقد النصية <code>[[ReactNative/text|Text]]</code> مفصولةً بمسافة.


{| class="wikitable"
{| class="wikitable"
سطر 48: سطر 94:
|}
|}
===‎‎<code>accessibilityHint</code>‎‎===
===‎‎<code>accessibilityHint</code>‎‎===
يُساعد تلميح إمكانية الوصول (accessibility hint) المستخدمينَ على فهم ما سيحدث عندما يقومون بإجراءٍ على عنصر إمكانية الوصول عندما لا تكون النتيجة واضحةً من مُلصَق إمكانية الوصول.
يُساعد تلميح إمكانية الوصول (accessibility hint) المستخدمينَ على فهم ما سيحدث عندما يقومون بإجراءٍ على عنصر إمكانية الوصول عندما لا تكون النتيجة واضحةً من عنوان أو تسمية سهولة الوصول.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 99: سطر 145:
تصف الحالة الحالية لمكوّنٍ ما لمستخدمِ تقنيةٍ مساعدة.
تصف الحالة الحالية لمكوّنٍ ما لمستخدمِ تقنيةٍ مساعدة.


انظر [https://wiki.hsoub.com/ReactNative/accessibility دليل إمكانية الوصول] لمزيد من المعلومات.
انظر [[ReactNative/accessibility|دليل سهولة الوصول]] لمزيد من المعلومات.


{| class="wikitable"
{| class="wikitable"
سطر 105: سطر 151:
!مطلوب
!مطلوب
|-
|-
|‎‎<code>object: {disabled: bool, selected: bool, checked: bool or 'mixed', busy: bool, expanded: bool}</code>‎‎
|‎‎كائن: {disabled: bool, selected: bool, checked: bool or 'mixed', busy: bool, expanded: bool}‎‎
|لا
|لا
|}
|}
===‎‎<code>accessibilityActions</code>‎‎===
===‎‎<code>accessibilityActions</code>‎‎===
تسمح إجراءات إمكانية الوصول (Accessibility actions) لتقنيّة مساعدة باستدعاء إجراءات مكونٍ برمجيًا. يجب أن تحتوي الخاصية <code>accessibilityActions</code> على قائمة كائنات إجراءات (action objects). يجب أن يحتوي كل كائن إجراء على اسم الحقل وعلى ملصق (label).
تسمح إجراءات سهولة الوصول (Accessibility actions) لتقنيّة مساعدة باستدعاء إجراءات مكونٍ برمجيًا. يجب أن تحتوي الخاصية <code>accessibilityActions</code> على قائمة كائنات إجراءات (action objects). يجب أن يحتوي كل كائن إجراء على اسم الحقل وعلى تسمية أو عنوان (label).


انظر [https://wiki.hsoub.com/ReactNative/accessibility دليل إمكانية الوصول] لمزيد من المعلومات.
انظر [[ReactNative/accessibility|دليل سهولة الوصول]] لمزيد من المعلومات.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 121: سطر 167:


===‎‎<code>onAccessibilityAction</code>‎‎===
===‎‎<code>onAccessibilityAction</code>‎‎===
دالةٌ تُستدعى عند قيام المستخدم بتنفيذ إجراءات إمكانية الوصول. معامل هذه الدالة الوحيد هو حدثٌ يحتوي على اسم الإجراء المراد تنفيذه.
دالةٌ تُستدعى عند قيام المستخدم بتنفيذ إجراءات سهولة الوصول. معامل هذه الدالة الوحيد هو حدثٌ يحتوي على اسم الإجراء المراد تنفيذه.


انظر [https://wiki.hsoub.com/ReactNative/accessibility دليل إمكانية الوصول] لمزيد من المعلومات.
انظر [[ReactNative/accessibility#.D8.A5.D8.AC.D8.B1.D8.A7.D8.A1.D8.A7.D8.AA .D8.B3.D9.87.D9.88.D9.84.D8.A9 .D8.A7.D9.84.D9.88.D8.B5.D9.88.D9.84|دليل سهولة الوصول]] لمزيد من المعلومات.


{| class="wikitable"
{| class="wikitable"
سطر 130: سطر 176:
|-
|-
|دالة
|دالة
|لا
|}
=== <code>accessibilityValue</code> ===
تمثل القيمة الحالية للمكون ويمكن أن تكون وصفًا نصيًا لقيمة المكون أو معلومات حول المجال مثل القيمة الدنيا والقيمة الحالية والقيمة العظمى للمكونات ذات المجال مثل المنزلقات sliders وأشرطة التقدم.
انظر [[ReactNative/accessibility|دليل سهولة الوصول]] لمزيد من المعلومات.
{| class="wikitable"
!النوع
!مطلوب
|-
|كائن {min: number, max: number, now: number, text: string}
|لا
|لا
|}
|}
سطر 179: سطر 237:
!مطلوب
!مطلوب
|-
|-
|‎‎<code>object: {top: number, left: number, bottom: number, right: number}</code>‎‎
|كائن [[ReactNative/rect|Rect]] أو عدد
|لا
|لا
|}
|}
سطر 204: سطر 262:


===‎‎<code>onLayout</code>‎‎===
===‎‎<code>onLayout</code>‎‎===
تُستدعى عند التركيب وتغيُّر التخطيط. ‎‎<code><nowiki>{nativeEvent: {layout: {x, y, width, height}}}</nowiki></code>‎‎.
تُستدعى عند التركيب وتغيُّر التخطيط.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 210: سطر 268:
|-
|-
|دالة
|دالة
‎({ nativeEvent: [[ReactNative/layoutevent|LayoutEvent]] }) => void
|لا
|لا
|}
|}
===‎‎<code>onLongPress</code>‎‎===
===‎‎<code>onLongPress</code>‎‎===
دالة تُستدعى إن تجاوز الوقت قيمة 370 ميللي ثانية بعد بدء <code>onPressIn</code> ويمكن تغيير تلك القيمة عبر <code>delayLongPress</code>.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 221: سطر 281:
|}
|}
===‎‎<code>onPress</code>‎‎===
===‎‎<code>onPress</code>‎‎===
تُستدعى عندما يتم تحرير اللمس، ولكنها لا تُستدعى إذا أُلغيَ اللمس (بواسطة تمريرٍ يأخذ قفل المستجيب (responder lock) مثلًا).
تُستدعى عندما يتم تحرير اللمس، ولكنها لا تُستدعى إذا أُلغيَ اللمس (بواسطة تمريرٍ يأخذ قفل المستجيب (responder lock) مثلًا). أول وسيط يمرر لهذه الدالة هو حدث من نمط <code>PressEvent</code>.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 230: سطر 290:
|}
|}
===‎‎<code>onPressIn</code>‎‎===
===‎‎<code>onPressIn</code>‎‎===
تُستدعى بمجرد الضغط على العنصر القابل للّمس وتُستدعى حتى قبل دالة ‎‎<code>onPress</code>‎‎. قد يكون هذا مفيدًا عند إجراء طلبات الشبكة.
تُستدعى بمجرد الضغط على العنصر القابل للّمس وتُستدعى حتى قبل دالة ‎‎<code>onPress</code>‎‎. قد يكون هذا مفيدًا عند إجراء طلبات الشبكة. أول وسيط يمرر لهذه الدالة هو حدث من نمط <code>PressEvent</code>.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 239: سطر 299:
|}
|}
===‎‎<code>onPressOut</code>‎‎===
===‎‎<code>onPressOut</code>‎‎===
تُستدعى بمجرد تحرير اللمس حتى قبل دالة ‎‎<code>onPress</code>‎‎.
تُستدعى بمجرد تحرير اللمس حتى قبل دالة ‎‎<code>onPress</code>‎‎. أول وسيط يمرر لهذه الدالة هو حدث من نمط <code>PressEvent</code>.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 253: سطر 313:
!مطلوب
!مطلوب
|-
|-
|‎‎<code>object: {top: number, left: number, bottom: number, right: number}</code>‎‎
|كائن [[ReactNative/rect|Rect]] أو عدد
|لا
|لا
|}
|}
سطر 285: سطر 345:
|Android
|Android
|}
|}
== تعريفات الأنواع ==
===<code>event</code>===
'''النوع:''' كائن.


== مصادر ==
== مصادر ==
* [https://facebook.github.io/react-native/docs/touchablewithoutfeedback صفحة TouchableWithoutFeedback في توثيق React Native الرسمي.]
* [https://facebook.github.io/react-native/docs/touchablewithoutfeedback صفحة TouchableWithoutFeedback في توثيق React Native الرسمي.]
[[تصنيف:ReactNative]]
[[تصنيف:ReactNative]]

مراجعة 09:34، 1 أكتوبر 2021

ملاحظة: إذا كنت تريد طريقةً أكثر شمولية للتعامل مع عناصر الإدخال باللمس اطّلع على واجهة Pressable البرمجية.

لا تستخدم هذا المكون إلا لِسَببٍ وجيه. يجب على جميع العناصر التي تستجيب للضغط أن تُظهِر علامةً مرئيةً تُعلم المستخدم بأنّها قد لُمِسَت، وهذا المكون لا يظهر أي شيء من هذا القبيل، بل يظهر وكأنّه لم يُضغَط عليه.

يدعم TouchableWithoutFeedback مكوّنًا ابنًا واحدًا فقط. إذا كنت تريد العديد من المكونات الأبناء، فقم بتغليفها داخل مُكوّنِ‎‎View‎‎. والأهم من ذلك، اعلم أنّ المكوِّن TouchableWithoutFeedback يعمل عن طريق استنساخ مكوّنه الابن وتطبيق خاصيَّات المستجيب (responder) عليه. ولذلك من الضروري أن تُمرِّرَ أي مكوّنات وسيطة (intermediary components) هذه الخاصيات إلى مكوّن React Native الضِّمنيّ (underlying component).

مثال

إليك مثال بسيط لكيفية استخدام المكون:

function MyComponent(props) {
  return (
    <View {...props} style={{ flex: 1, backgroundColor: '#fff' }}>
      <Text>My Component</Text>
    </View>
  );
}

<TouchableWithoutFeedback onPress={() => alert('Pressed!')}>
  <MyComponent />
</TouchableWithoutFeedback>;

انظر المثال الشامل التالي (تجربة حية):

import React, { useState } from "react";
import { StyleSheet, TouchableWithoutFeedback, Text, View } from "react-native";

const TouchableWithoutFeedbackExample = () => {
  const [count, setCount] = useState(0);

  const onPress = () => {
    setCount(count + 1);
  };

  return (
    <View style={styles.container}>
      <View style={styles.countContainer}>
        <Text style={styles.countText}>Count: {count}</Text>
      </View>
      <TouchableWithoutFeedback onPress={onPress}>
        <View style={styles.button}>
          <Text>Touch Here</Text>
        </View>
      </TouchableWithoutFeedback>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    paddingHorizontal: 10
  },
  button: {
    alignItems: "center",
    backgroundColor: "#DDDDDD",
    padding: 10
  },
  countContainer: {
    alignItems: "center",
    padding: 10
  },
  countText: {
    color: "#FF00FF"
  }
});

export default TouchableWithoutFeedbackExample;

الخاصيات

‎‎accessibilityIgnoresInvertColors‎‎

النوع مطلوب
قيمة منطقيّة لا

‎‎accessible‎‎

عندما تكون ذات القيمة ‎‎true‎‎، فذلك يشير إلى أن العرض عنصرُ إمكانية وصول (accessibility element). افتراضيًّا، يمكن الوصول إلى جميع العناصر القابلة للّمس.

النوع مطلوب
قيمة منطقيّة لا

‎‎accessibilityLabel‎‎

يستبدِل النص الذي يقرأه قارئ الشاشة عندما يتفاعل المستخدم مع العنصر. افتراضيًا، يُنشأ العنوان أو التسمية (label) عن طريق العبور عبر جميع المكوّنات الأبناء وتجميع كافة العقد النصية Text مفصولةً بمسافة.

النوع مطلوب
سلسلة نصيّة لا

‎‎accessibilityHint‎‎

يُساعد تلميح إمكانية الوصول (accessibility hint) المستخدمينَ على فهم ما سيحدث عندما يقومون بإجراءٍ على عنصر إمكانية الوصول عندما لا تكون النتيجة واضحةً من عنوان أو تسمية سهولة الوصول.

النوع مطلوب
سلسلة نصيّة لا

‎‎accessibilityRole‎‎

تقوم الخاصيّة accessibilityRole بتوصيل الغرض من المكون (أي دَوره) إلى مُستخدمِ تقنيةٍ مساعدة (assistive technology).

يُمكن للخاصيّة ‎‎accessibilityRole‎‎ أن تحمل أحد القيم التالية:

  • ‎‎'none'‎‎ - تُستخدَم عندما لا يكون للعنصر أي دور.
  • ‎‎'button'‎‎ - تستخدم عندما تجب معاملة العنصر كزر.
  • ‎‎'link'‎‎ - تستخدم عندما تجب معاملة العنصر كرابط.
  • ‎‎'search'‎‎ - تستخدم عندما تجب معاملة عنصر حقل النص كعنصر بحث كذلك.
  • ‎‎'image'‎‎ - تستخدم عندما تجب معاملة العنصر كصورة. يمكن دمجها مع زرٍ أو رابطٍ مثلا.
  • ‎‎'keyboardkey'‎‎ - تستخدم عندما يتصرَّف العنصرُ كمفتاح لوحة مفاتيح.
  • ‎‎'text'‎‎ - تستخدم عندما تجب معاملة العنصر كنص ثابت لا يمكن تغييره.
  • ‎‎'adjustable'‎‎ - تستخدم عندما يمكن "تعديل" العنصر (مثل شريط تمريرٍ [slider]).
  • ‎‎'imagebutton'‎‎ - تستخدم عندما تجب معاملة العنصر كزرٍ مع كونِه صورة في نفس الوقت.
  • ‎‎'header'‎‎ - تستخدم عندما يتصرف عنصرٌ كترويسةٍ (header) لقسمِ محتوى (كعنوان شريط التنقل).
  • ‎‎'summary'‎‎ - تستخدم عندما يمكن استخدام عنصر ما لتقديم ملخص سريع للظروف الحالية في التطبيق عند بدء تشغيل التطبيق لأول مرة.
  • ‎‎'alert'‎‎ - تستخدم عندما يحتوي عنصر على نص مهم لعرضه للمستخدم.
  • ‎‎'checkbox'‎‎ - تستخدم عندما يمثل عنصر مربعًا يمكن تحديده أو إلغاء تحديده أو في حالة تحديد مختلطة.
  • ‎‎'combobox'‎‎ - تستخدم عندما يمثل عنصر مربع تحرير وسرد (combo box)، مما يسمح للمستخدم بالاختيار من بين عدة خيارات.
  • ‎‎'menu'‎‎ - تستخدم عندما يكون المكون قائمةً من الخيارات.
  • ‎‎'menubar'‎‎ - تستخدم عندما يكون المكون عبارة عن حاوية متعددة القوائم.
  • ‎‎'menuitem'‎‎ - تستخدم لتمثيل عنصرٍ داخل قائمة.
  • ‎‎'progressbar'‎‎ - تستخدم لتمثيل مكون يشير إلى تقدم المهمة (شريط تقدم).
  • ‎‎'radio'‎‎ - تستخدم لتمثيل زر اختيار.
  • ‎‎'radiogroup'‎‎ - تستخدم لتمثيل مجموعة من أزرار الاختيار.
  • ‎‎'scrollbar'‎‎ - تستخدم لتمثيل شريط تمرير.
  • ‎‎'spinbutton'‎‎ - تستخدم لتمثيل زر يفتح قائمة من الخيارات.
  • ‎‎'switch'‎‎ - تستخدم لتمثيل مُحوِّلة يمكن تشغيلها وإيقاف تشغيلها.
  • ‎‎'tab'‎‎ - تستخدم لتمثيل علامة تبويب.
  • ‎‎'tablist'‎‎ - تستخدم لتمثيل قائمة من علامات التبويب.
  • ‎‎'timer'‎‎ - تستخدم لتمثيل مؤقت.
  • ‎‎'toolbar'‎‎ - تستخدم لتمثيل شريط أدوات (حاوية من أزرارٍ ومكوّنات إجراءات).
النوع مطلوب
سلسلة نصيّة لا

‎‎accessibilityState‎‎

تصف الحالة الحالية لمكوّنٍ ما لمستخدمِ تقنيةٍ مساعدة.

انظر دليل سهولة الوصول لمزيد من المعلومات.

النوع مطلوب
‎‎كائن: {disabled: bool, selected: bool, checked: bool or 'mixed', busy: bool, expanded: bool}‎‎ لا

‎‎accessibilityActions‎‎

تسمح إجراءات سهولة الوصول (Accessibility actions) لتقنيّة مساعدة باستدعاء إجراءات مكونٍ برمجيًا. يجب أن تحتوي الخاصية accessibilityActions على قائمة كائنات إجراءات (action objects). يجب أن يحتوي كل كائن إجراء على اسم الحقل وعلى تسمية أو عنوان (label).

انظر دليل سهولة الوصول لمزيد من المعلومات.

النوع مطلوب
مصفوفة لا

‎‎onAccessibilityAction‎‎

دالةٌ تُستدعى عند قيام المستخدم بتنفيذ إجراءات سهولة الوصول. معامل هذه الدالة الوحيد هو حدثٌ يحتوي على اسم الإجراء المراد تنفيذه.

انظر دليل سهولة الوصول لمزيد من المعلومات.

النوع مطلوب
دالة لا

accessibilityValue

تمثل القيمة الحالية للمكون ويمكن أن تكون وصفًا نصيًا لقيمة المكون أو معلومات حول المجال مثل القيمة الدنيا والقيمة الحالية والقيمة العظمى للمكونات ذات المجال مثل المنزلقات sliders وأشرطة التقدم.

انظر دليل سهولة الوصول لمزيد من المعلومات.

النوع مطلوب
كائن {min: number, max: number, now: number, text: string} لا

‎‎delayLongPress‎‎

التأخير بالمللي ثانية، منذ اللحظة التي تستدعى فيها دالّةُ ‎‎onPressIn‎‎، قبل استدعاء ‎‎onLongPress‎‎.

النوع مطلوب
عدد لا

‎‎delayPressIn‎‎

التأخير بالمللي ثانية، من بداية اللمس، قبل أن تُستدعى الدالة ‎‎onPressIn‎‎.

النوع مطلوب
عدد لا

‎‎delayPressOut‎‎

التأخير بالمللي ثانية، من تحرير اللمس، قبل استدعاء ‎‎onPressOut‎‎.

النوع مطلوب
عدد لا

‎‎disabled‎‎

عندما تكون ذات القيمة ‎‎true‎‎، تُعطَّل جميع التفاعلات مع هذا المكون.

النوع مطلوب
قيمة منطقيّة لا

‎‎hitSlop‎‎

تُحدد هذه الخاصيّة المدى الذي يمكن أن يبدأ فيه لمس الزّر. يُضاف هذا إلى الخاصيّة ‎‎pressRetentionOffset‎‎ عند نقل اللمسة بعيدًا عن الزر.

ملاحظة: لا تمتد منطقة اللمس أبدًا بعد حدود العرض الأب، ودائمًا ما يأخذ مؤشر Z-index الخاص بالعروض الأشقّاء (المجاورة) الأولويّةَ إذا وقعت اللمسة على عرضين متداخلين.

النوع مطلوب
كائن Rect أو عدد لا

‎‎onBlur‎‎

تُستدعى عندما يفقد العنصر التركيز.

النوع مطلوب
دالة لا

‎‎onFocus‎‎

تُستدعى عندما يستقبل العنصر التركيز.

النوع مطلوب
دالة لا

‎‎onLayout‎‎

تُستدعى عند التركيب وتغيُّر التخطيط.

النوع مطلوب
دالة

‎({ nativeEvent: LayoutEvent }) => void

لا

‎‎onLongPress‎‎

دالة تُستدعى إن تجاوز الوقت قيمة 370 ميللي ثانية بعد بدء onPressIn ويمكن تغيير تلك القيمة عبر delayLongPress.

النوع مطلوب
دالة لا

‎‎onPress‎‎

تُستدعى عندما يتم تحرير اللمس، ولكنها لا تُستدعى إذا أُلغيَ اللمس (بواسطة تمريرٍ يأخذ قفل المستجيب (responder lock) مثلًا). أول وسيط يمرر لهذه الدالة هو حدث من نمط PressEvent.

النوع مطلوب
دالة لا

‎‎onPressIn‎‎

تُستدعى بمجرد الضغط على العنصر القابل للّمس وتُستدعى حتى قبل دالة ‎‎onPress‎‎. قد يكون هذا مفيدًا عند إجراء طلبات الشبكة. أول وسيط يمرر لهذه الدالة هو حدث من نمط PressEvent.

النوع مطلوب
دالة لا

‎‎onPressOut‎‎

تُستدعى بمجرد تحرير اللمس حتى قبل دالة ‎‎onPress‎‎. أول وسيط يمرر لهذه الدالة هو حدث من نمط PressEvent.

النوع مطلوب
دالة لا

‎‎pressRetentionOffset‎‎

عند تعطيل عرض التمرير (scroll view)، تُحدد هذه الخاصيّة مدى المسافة التي يمكن أن تتحرك بها اللمسة بعيدًا عن الزر قبل إلغاء تنشيطه. بمجرد إلغاء تنشيط الزر، حاول تحريكه للخلف وسترى أن الزر قد نُشِّط مرة أخرى! حركه للخلف وللأمام عدة مرات أثناء تعطيل عرض التمرير. تأكد من تمرير قيمة ثابتةٍ لتقليل تخصيصات الذاكرة.

النوع مطلوب
كائن Rect أو عدد لا

‎‎nativeID‎‎

النوع مطلوب
سلسلة نصيّة لا

‎‎testID‎‎

تُستخدم لتحديد موقع هذا العرض في الاختبارات الشاملة (end-to-end tests).

النوع مطلوب
سلسلة نصيّة لا

‎‎touchSoundDisabled‎‎

إذا كان ذات القيمة ‎‎true‎‎، فلن يُشغَّل صوت النظام عند اللمس.

النوع مطلوب المنصة
قيمة منطقيّة لا Android

مصادر