Reagieren Native Animationen - translateX und translateY beim Skalieren

8

Mein Animated.View hat den folgenden Stil:

%Vor%

Wenn initialScale 1 ist und die Animation startet, sehe ich das erwartete Verhalten: Animated.View beginnt bei (startX, startY) und bewegt sich linear zu (endX, endY).
Wenn initialScale jedoch beispielsweise 0,5 ist, ist der Startpunkt der Ansicht nicht (startX, startY), die Bewegung ist nicht linear (ein bisschen sphärisch) und der Endpunkt ist immer noch wie erwartet - (endX, endY) .

Wie kann ich meine Ansicht skalieren, während eine lineare Bewegung und die erwartete Startposition beibehalten werden?

    
nirsky 24.01.2017, 14:55
quelle

1 Antwort

8

Wie der Benutzer @ArneHugo in den Kommentaren darauf hingewiesen hat, kann die nichtlineare Bewegung gelöst werden, indem das Containerelement in voller Größe positioniert und ein anderes Element darin skaliert wird.

Die Position des Elements ist nicht wie erwartet, da der Ursprung der Maßstabsumwandlung der Mittelpunkt des Elements ist. React Native unterstützt (noch) nicht die Angabe des Transformationsursprungs, aber wenn die Breite und Höhe des skalierten Elements im Voraus bekannt sind, ist es einfach, den Offset wie folgt zu berechnen:

%Vor%     
jevakallio 24.01.2017, 16:44
quelle

Tags und Links