Vodiči · 04

Unos i geste

Zapisujte pokazivač, povlačenje, pomicanje i drugi unos u vrijednosti i neka ih druge vrijednosti prate.

input(target, adapter)

Adapter unosa pretvara događaje preglednika u zapise vrijednosti. input(ref, adapter) ga povezuje kao kontroler; deklariran unutar useAnimated uklanja se pri demontiranju ili kad se ovisnost promijeni.

Adapteri: dragInput, pinchInput, moveInput, scrollInput, wheelInput, viewportInput, mediaInput, longPressInput i swipeInput.

Priprema primjera…

Povlačenje s granicama i pokretom nakon puštanja

dragInput podržava povlačenje pokazivačem i strelicama, bounds s otporom elastic, momentum nakon puštanja i funkciju settle koja bira mjesto zaustavljanja prema predviđenom položaju.

Na zaslonima osjetljivima na dodir postavlja touch-action cilja dok je montiran, kako preglednik gestu ne bi shvatio kao pomicanje. Vrijednost koju sami postavite ima prednost.

Priprema primjera…

Štipanje, vidljivo područje i mediji

Neobavezni treći argument input prima svaki događaj odgovora, pa adapter može pokretati pokret i na svojim rubovima.

inputs.jsx
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

Preslikavanja događaja iz React Nativea rade na DOM događajima. Kod događaja pomicanja nativeEvent.contentOffset, contentSize i layoutMeasurement čitaju se iz elementa koji se pomiče, pa se preslikavanja ScrollViewa prenose bez promjena.

Header.jsx
const scrollY = useAnimatedValue(0);

<div onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }])} />;

Pretraži

Tipkajte za pretraživanje dokumentacije.