Útmutatók · 01
Átmenetek
Minden komponens egy transition értéket fogad: timing-görbét vagy rugót. Hogyan válasszon, és mi történik, ha egy mozgás megszakad.
Kétféle átmenet
Egy átmenet vagy { duration, easing }, vagy { tempo: 'spring', spring }. Adja át bármely komponens transition propjának. A több dolgot egyszerre mozgató komponensek egy második propot is fogadnak, például a MotionList layoutTransition propját az új helyükre sikló elemekhez.
// Timing: a duration and a curve.
{ duration: 300, easing: 'easeOut' }
{ duration: 600, easing: [0.22, 1, 0.36, 1] }
// Spring: physics that keeps its speed when interrupted.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 } }
// Spring with duration: calibrated to settle exactly then.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 }, duration: 500 }Rugók időtartammal
Egy rugó általában addig fut, ameddig a fizikája megkívánja. Adjon meg duration értéket, és a rugó úgy kalibrálódik, hogy pontosan akkor álljon meg, megőrizve a jellegét (mennyire pattog), miközben igazodik az Ön időzítéséhez. Hasonlítsa össze a timing-görbéket és a rugókat ugyanazon a három komponensen alább.
A példa előkészítése…
Megszakítások
Minden komponens onnan indít új mozgást, ami a képernyőn van. A rugó az aktuális sebességét is megtartja, így egy második kattintás simán fordítja meg a mozgást. A timing-görbe az aktuális pozíciótól új görbével indul újra.
- Számok: az új érték a képernyőn lévő karakterektől folytatódik.
- Magasság és cserék: a méret a képernyőn lévő mérettől folytatódik.
- Listák: az új helyre tartó elemek megtartják a sebességüket.
Kész átmenetek
A motionTokens néhány egységes érzetet gyűjt össze: négy rugót, négy timing-görbét és négy időtartamot. Ezek sima objektumok, így egy mező módosításához spreadeljen ki egyet.
import { motionTokens } from '@kkwaenggwari/animated-chorus';
motionTokens.spring.quick; // snappy UI feedback
motionTokens.spring.basic; // the default feel
motionTokens.spring.gentle; // panels and height
motionTokens.spring.bouncy; // playful numbers
motionTokens.easing.expoOut; // { duration: 420, easing: 'expoOut' }
motionTokens.duration.fast; // 140Easing-nevek
Az easing elfogadja a linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut értéket, vagy egy köbös Bézier-tömböt, például [0.22, 1, 0.36, 1].