Kılavuzlar · 04
Girdi ve hareketler
İşaretçiyi, sürüklemeyi, kaydırmayı ve diğer girdileri değerlere yazın, diğer değerlerin onları izlemesine izin verin.
input(target, adapter)
Bir girdi adaptörü tarayıcı olaylarını değer yazmalarına dönüştürür. input(ref, adapter) onu bir denetleyici olarak bağlar; useAnimated içinde bildirildiyse ayrılınca ya da bir bağımlılık değişince kaldırılır.
Adaptörler: dragInput, pinchInput, moveInput, scrollInput, wheelInput, viewportInput, mediaInput, longPressInput ve swipeInput.
Örnek hazırlanıyor…
Sınırlar ve bırakma hareketiyle sürükleme
dragInput işaretçi ve ok tuşlarıyla sürüklemeyi, elastic dirençli bounds'u, bırakmadan sonra momentum'u ve öngörülen konumdan durma yerini seçen bir settle fonksiyonunu destekler.
Dokunmatik ekranlarda bağlıyken hedefin touch-action'ını ayarlar; böylece tarayıcı hareketi kaydırma sanıp almaz. Kendi ayarladığınız değer önceliklidir.
Örnek hazırlanıyor…
Kıstırma, görünüm alanı ve medya
input'un isteğe bağlı üçüncü argümanı her yanıt olayını alır; böylece bir adaptör kendi kenarlarında hareket de başlatabilir.
const card = useRef(null);
const pinch = useAnimated(
{ scale: 1, rotation: 0 },
(value) => {
input(card, pinchInput({ scale: value.scale, rotation: value.rotation, minScale: 0.5 }));
},
[],
);
const reveal = useAnimated(
0,
(value) => {
input(card, viewportInput({ once: true }), (event) => {
if (event.phase === 'in') spring(value, { toValue: 1 }).start();
});
},
[],
);Animated.event
React Native olay eşlemeleri DOM olaylarında çalışır. Bir kaydırma olayında nativeEvent.contentOffset, contentSize ve layoutMeasurement kaydırılan öğeden okunur; ScrollView eşlemeleri değişmeden taşınır.
const scrollY = useAnimatedValue(0);
<div onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }])} />;