الفرق بين المراجعتين لصفحة: «ReactNative/animatedvalue»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:المتغير Animated.Value في React Native}}</noinclude> | |||
هو القيمة المعيارية لتوجيه التحريك، فمتغيّر <code>Animated.Value</code> واحد يمكنه أن يوجّه خصائصًا متعددة بطريقة متزامنة، ولكن يمكنها أن تكون موجَّهة باستخدام آلية واحدة فقط في نفس الوقت، إذ سيؤدي استخدام آلية جديدة (مثل بدء حركة جديدة أو استدعاء التابع <code>setValue</code>) إلى إيقاف أي آلية سابقة | هو القيمة المعيارية لتوجيه التحريك، فمتغيّر <code>Animated.Value</code> واحد يمكنه أن يوجّه خصائصًا متعددة بطريقة متزامنة، ولكن يمكنها أن تكون موجَّهة باستخدام آلية واحدة فقط في نفس الوقت، إذ سيؤدي استخدام آلية جديدة (مثل بدء حركة جديدة أو استدعاء التابع <code>setValue</code>) إلى إيقاف أي آلية سابقة. | ||
يُهيَّأ هذا المتغير من خلال <code>new Animated.Value(0);</code>. | |||
====<code>setValue()</code> | == التوابع == | ||
===<code>setValue()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
setValue(value); | setValue(value); | ||
</syntaxhighlight> | </syntaxhighlight>يضبط هذا التابع القيمة value مباشرةً، فهذا سيؤدي إلى إيقاف أي تأثيرات حركية تعمل على هذه القيمة وتحديث جميع الخصائص المرتبطة بها. | ||
'''المعاملات Parameters''': | '''المعاملات Parameters''': | ||
سطر 17: | سطر 19: | ||
|- | |- | ||
|value | |value | ||
|number | |عدد number | ||
|نعم | |نعم | ||
|Value | |قيمة Value | ||
|} | |} | ||
===<code>setOffset()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
setOffset(offset); | setOffset(offset); | ||
</syntaxhighlight>يضبط هذا التابع الإزاحة المُطبَّقة على أية قيمة مضبوطة، سواء عبر التابع <code>setValue</code> أو تحريك أو | </syntaxhighlight>يضبط هذا التابع الإزاحة المُطبَّقة على أية قيمة مضبوطة، سواء عبر التابع <code>setValue</code> أو عبر تحريك أو عبر <code>Animated.event</code>، وهو مفيد لتعويض أشياء كبدء الإيماءة الشاملة pan gesture. | ||
'''المعاملات''': | '''المعاملات''': | ||
سطر 35: | سطر 37: | ||
|- | |- | ||
|offset | |offset | ||
|number | |عدد number | ||
|نعم | |نعم | ||
|Offset value | |قيمة إزاحة Offset value | ||
|} | |} | ||
===<code>flattenOffset()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
flattenOffset(); | flattenOffset(); | ||
</syntaxhighlight>يدمج هذا التابع قيمة الإزاحة مع القيمة الأساسية ويعيد ضبط الإزاحة إلى الصفر، أي لم يتغير خرج القيمة النهائي. | </syntaxhighlight>يدمج هذا التابع قيمة الإزاحة مع القيمة الأساسية ويعيد ضبط الإزاحة إلى الصفر، أي لم يتغير خرج القيمة النهائي. | ||
===<code>extractOffset()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
extractOffset(); | extractOffset(); | ||
</syntaxhighlight>يضبط قيمة الإزاحة على القيمة الأساسية، ويعيد ضبط القيمة الأساسية إلى الصفر، أي لم يتغير خرج القيمة النهائي. | </syntaxhighlight>يضبط هذا التابع قيمة الإزاحة على القيمة الأساسية، ويعيد ضبط القيمة الأساسية إلى الصفر، أي لم يتغير خرج القيمة النهائي. | ||
===<code>addListener()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
addListener(callback); | addListener(callback); | ||
</syntaxhighlight>يضيف هذا التابع مستمعًا غير متزامن إلى القيمة لتتمكّن من مراقبة | </syntaxhighlight>يضيف هذا التابع مستمعًا غير متزامن إلى القيمة لتتمكّن من مراقبة تحديثات التأثيرات الحركية، وهذا مفيد لأنه لا توجد طريقة لقراءة القيمة بصورة متزامنة لأنها قد تكون موجَّهة بطريقة أصيلة. يعيد هذا التابع سلسلة نصية تعمل كمعرّف للمستمع. | ||
'''المعاملات''': | '''المعاملات''': | ||
سطر 65: | سطر 67: | ||
|دالة function | |دالة function | ||
|نعم | |نعم | ||
| | |دالة رد نداء callback التي ستتلقى كائنًا له مفتاح <code>value</code> مضبوط على القيمة الجديدة. | ||
|} | |} | ||
===<code>removeListener()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
removeListener(id); | removeListener(id); | ||
</syntaxhighlight>يلغي هذا التابع تسجيل مستمع. يجب أن يتطابق المعامل <code>id</code> مع المعرّف الذي أعاده | </syntaxhighlight>يلغي هذا التابع تسجيل مستمع. يجب أن يتطابق المعامل <code>id</code> مع المعرّف الذي أعاده التابع <code>addListener()</code> مسبقًا. | ||
'''المعاملات''': | '''المعاملات''': | ||
سطر 81: | سطر 83: | ||
|- | |- | ||
|id | |id | ||
|سلسلة string | |سلسلة نصية string | ||
|نعم | |نعم | ||
| | |معرّف Id المستمع المحذوف. | ||
|} | |} | ||
===<code>removeAllListeners()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
removeAllListeners(); | removeAllListeners(); | ||
</syntaxhighlight> | </syntaxhighlight>يحذف جميع المستمعين المسجّلين. | ||
===<code>stopAnimation()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
stopAnimation([callback]); | stopAnimation([callback]); | ||
</syntaxhighlight>يوقف أي تأثيرات حركية أو تتبّع قيد التشغيل. تُستدعى الدالة <code>callback</code> مع القيمة النهائية بعد إيقاف التأثير الحركي، وهذا أمر مفيد لتحديث الحالة لمطابقة التحريك مع التخطيط. | </syntaxhighlight>يوقف أي تأثيرات حركية أو تتبّع قيد التشغيل. تُستدعى الدالة <code>callback</code> مع القيمة النهائية بعد إيقاف التأثير الحركي، وهذا أمر مفيد لتحديث الحالة لمطابقة مكان التحريك مع التخطيط. | ||
'''المعاملات''': | '''المعاملات''': | ||
سطر 109: | سطر 111: | ||
|} | |} | ||
===<code>resetAnimation()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
resetAnimation([callback]); | resetAnimation([callback]); | ||
</syntaxhighlight>يوقف هذا التابع أي تأثير حركي ويعيد ضبط القيمة إلى | </syntaxhighlight>يوقف هذا التابع أي تأثير حركي ويعيد ضبط القيمة إلى أصلها. | ||
'''المعاملات''': | '''المعاملات''': | ||
سطر 127: | سطر 129: | ||
|} | |} | ||
===<code>interpolate()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
interpolate(config); | interpolate(config); | ||
سطر 146: | سطر 148: | ||
يتكوّن الكائن <code>config</code> من المفاتيح التالية: | يتكوّن الكائن <code>config</code> من المفاتيح التالية: | ||
<code>inputRange</code>: مصفوفة من | <code>inputRange</code>: مصفوفة من الأعداد. | ||
<code>outputRange</code>: مصفوفة من | <code>outputRange</code>: مصفوفة من الأعداد أو السلاسل النصية. | ||
<code>easing</code> (مفتاح اختياري): وهو دالة تعيد | <code>easing</code> (مفتاح اختياري): وهو دالة تعيد عددًا، وتأخذ عددًا كدخل. | ||
<code>extrapolate</code> (مفتاح اختياري): هو سلسلة مثل 'extend' أو 'identity' أو 'clamp'. | <code>extrapolate</code> (مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'. | ||
<code>extrapolateLeft</code> (مفتاح اختياري): هو سلسلة مثل 'extend' أو 'identity' أو 'clamp'. | <code>extrapolateLeft</code> (مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'. | ||
<code>extrapolateRight</code> (مفتاح اختياري): هو سلسلة مثل 'extend' أو 'identity' أو 'clamp'. | <code>extrapolateRight</code> (مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'. | ||
===<code>animate()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
animate(animation, callback); | animate(animation, callback); | ||
سطر 178: | سطر 180: | ||
|دالة function | |دالة function | ||
|نعم | |نعم | ||
|دالة | |دالة رد نداء Callback. | ||
|} | |} | ||
===<code>stopTracking()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
stopTracking(); | stopTracking(); | ||
</syntaxhighlight>يُستخدَم هذا التابع عادةً داخليًا فقط. | </syntaxhighlight>يُستخدَم هذا التابع عادةً داخليًا فقط. | ||
===<code>track()</code>=== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
track(tracking); | track(tracking); | ||
سطر 207: | سطر 209: | ||
* [https://reactnative.dev/docs/animatedvalue صفحة Animated.Value في توثيق React Native الرسمي.] | * [https://reactnative.dev/docs/animatedvalue صفحة Animated.Value في توثيق React Native الرسمي.] | ||
[[تصنيف:ReactNative]] | |||
[[تصنيف:React Native API]] |
المراجعة الحالية بتاريخ 14:12، 9 أكتوبر 2021
هو القيمة المعيارية لتوجيه التحريك، فمتغيّر Animated.Value
واحد يمكنه أن يوجّه خصائصًا متعددة بطريقة متزامنة، ولكن يمكنها أن تكون موجَّهة باستخدام آلية واحدة فقط في نفس الوقت، إذ سيؤدي استخدام آلية جديدة (مثل بدء حركة جديدة أو استدعاء التابع setValue
) إلى إيقاف أي آلية سابقة.
يُهيَّأ هذا المتغير من خلال new Animated.Value(0);
.
التوابع
setValue()
setValue(value);
يضبط هذا التابع القيمة value مباشرةً، فهذا سيؤدي إلى إيقاف أي تأثيرات حركية تعمل على هذه القيمة وتحديث جميع الخصائص المرتبطة بها.
المعاملات Parameters:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
value | عدد number | نعم | قيمة Value |
setOffset()
setOffset(offset);
يضبط هذا التابع الإزاحة المُطبَّقة على أية قيمة مضبوطة، سواء عبر التابع setValue
أو عبر تحريك أو عبر Animated.event
، وهو مفيد لتعويض أشياء كبدء الإيماءة الشاملة pan gesture.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
offset | عدد number | نعم | قيمة إزاحة Offset value |
flattenOffset()
flattenOffset();
يدمج هذا التابع قيمة الإزاحة مع القيمة الأساسية ويعيد ضبط الإزاحة إلى الصفر، أي لم يتغير خرج القيمة النهائي.
extractOffset()
extractOffset();
يضبط هذا التابع قيمة الإزاحة على القيمة الأساسية، ويعيد ضبط القيمة الأساسية إلى الصفر، أي لم يتغير خرج القيمة النهائي.
addListener()
addListener(callback);
يضيف هذا التابع مستمعًا غير متزامن إلى القيمة لتتمكّن من مراقبة تحديثات التأثيرات الحركية، وهذا مفيد لأنه لا توجد طريقة لقراءة القيمة بصورة متزامنة لأنها قد تكون موجَّهة بطريقة أصيلة. يعيد هذا التابع سلسلة نصية تعمل كمعرّف للمستمع.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
callback | دالة function | نعم | دالة رد نداء callback التي ستتلقى كائنًا له مفتاح value مضبوط على القيمة الجديدة.
|
removeListener()
removeListener(id);
يلغي هذا التابع تسجيل مستمع. يجب أن يتطابق المعامل id
مع المعرّف الذي أعاده التابع addListener()
مسبقًا.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
id | سلسلة نصية string | نعم | معرّف Id المستمع المحذوف. |
removeAllListeners()
removeAllListeners();
يحذف جميع المستمعين المسجّلين.
stopAnimation()
stopAnimation([callback]);
يوقف أي تأثيرات حركية أو تتبّع قيد التشغيل. تُستدعى الدالة callback
مع القيمة النهائية بعد إيقاف التأثير الحركي، وهذا أمر مفيد لتحديث الحالة لمطابقة مكان التحريك مع التخطيط.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
callback | دالة function | لا | دالة ستتلقى القيمة النهائية. |
resetAnimation()
resetAnimation([callback]);
يوقف هذا التابع أي تأثير حركي ويعيد ضبط القيمة إلى أصلها.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
callback | دالة function | لا | دالة ستتلقى القيمة الأصلية. |
interpolate()
interpolate(config);
يحشو هذا التابع القيمة قبل تحديث الخاصية مثل ربط القيمة 0-1 مع 0-10.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
config | كائن object | نعم | انظر أدناه |
يتكوّن الكائن config
من المفاتيح التالية:
inputRange
: مصفوفة من الأعداد.
outputRange
: مصفوفة من الأعداد أو السلاسل النصية.
easing
(مفتاح اختياري): وهو دالة تعيد عددًا، وتأخذ عددًا كدخل.
extrapolate
(مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'.
extrapolateLeft
(مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'.
extrapolateRight
(مفتاح اختياري): هو سلسلة نصية مثل 'extend' أو 'identity' أو 'clamp'.
animate()
animate(animation, callback);
يُستخدَم هذا التابع عادةً داخليًا فقط، ولكن يمكن أن يستخدمه صنف تحريك مخصَّص.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
animation | Animation | نعم | اطّلع على Animation.js
|
callback | دالة function | نعم | دالة رد نداء Callback. |
stopTracking()
stopTracking();
يُستخدَم هذا التابع عادةً داخليًا فقط.
track()
track(tracking);
يُستخدَم هذا التابع عادةً داخليًا فقط.
المعاملات:
الاسم | النوع | مطلوب | الوصف |
---|---|---|---|
tracking | AnimatedNode | نعم | اطّلع على AnimatedNode.js
|