Przejdź do treści głównej
Wersja: 0.81

Animated.ValueXY

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

Wartość 2D do sterowania animacjami dwuwymiarowymi, takimi jak gesty przesuwania. Interfejs API niemal identyczny jak standardowego Animated.Value, ale z multipleksowaniem. Pod spodem zawiera dwie standardowe wartości Animated.Value.

Przykład


Dokumentacja

Metody

setValue()

tsx
setValue(value: {x: number; y: number});

Bezpośrednio ustawia wartość. Zatrzymuje to wszystkie aktualnie działające animacje tej wartości i aktualizuje wszystkie powiązane właściwości.

Parametry:

NameTypeRequiredDescription
value{x: number; y: number}YesValue

setOffset()

tsx
setOffset(offset: {x: number; y: number});

Ustawia przesunięcie nakładane na bieżącą wartość - niezależnie od tego, czy została ustawiona przez setValue, animację czy Animated.event. Przydatne do kompensowania elementów takich jak punkt początkowy gestu przesunięcia.

Parametry:

NameTypeRequiredDescription
offset{x: number; y: number}YesOffset value

flattenOffset()

tsx
flattenOffset();

Scala wartość przesunięcia z wartością bazową i resetuje przesunięcie do zera. Ostateczna wartość wyjściowa pozostaje bez zmian.


extractOffset()

tsx
extractOffset();

Ustawia wartość przesunięcia na wartość bazową i resetuje wartość bazową do zera. Ostateczna wartość wyjściowa pozostaje bez zmian.


addListener()

tsx
addListener(callback: (value: {x: number; y: number}) => void);

Dodaje asynchronicznego słuchacza (listener) do wartości, umożliwiając obserwowanie aktualizacji z animacji. Jest to przydatne, ponieważ nie ma możliwości synchronicznego odczytu wartości, która może być sterowana natywnie.

Zwraca ciąg znaków służący jako identyfikator słuchacza.

Parametry:

NameTypeRequiredDescription
callbackfunctionYesThe callback function which will receive an object with a value key set to the new value.

removeListener()

tsx
removeListener(id: string);

Wyrejestrowuje słuchacza. Parametr id musi odpowiadać identyfikatorowi zwróconemu wcześniej przez addListener().

Parametry:

NameTypeRequiredDescription
idstringYesId for the listener being removed.

removeAllListeners()

tsx
removeAllListeners();

Usuwa wszystkich zarejestrowanych słuchaczy.


stopAnimation()

tsx
stopAnimation(callback?: (value: {x: number; y: number}) => void);

Zatrzymuje wszystkie działające animacje lub śledzenie. callback jest wywoływany z końcową wartością po zatrzymaniu animacji, co jest przydatne do aktualizacji stanu zgodnie z pozycją animacji w układzie.

Parametry:

NameTypeRequiredDescription
callbackfunctionNoA function that will receive the final value.

resetAnimation()

tsx
resetAnimation(callback?: (value: {x: number; y: number}) => void);

Zatrzymuje wszystkie animacje i resetuje wartość do stanu początkowego.

Parametry:

NameTypeRequiredDescription
callbackfunctionNoA function that will receive the original value.

getLayout()

tsx
getLayout(): {left: Animated.Value, top: Animated.Value};

Konwertuje {x, y} na {left, top} do użycia w stylach, np.

tsx
style={this.state.anim.getLayout()}

getTranslateTransform()

tsx
getTranslateTransform(): [
{translateX: Animated.Value},
{translateY: Animated.Value},
];

Konwertuje {x, y} na gotową transformację przesunięcia, np.

tsx
style={{
transform: this.state.anim.getTranslateTransform()
}}