المتغير Animated.Value في React Native

من موسوعة حسوب
مراجعة 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

مصادر