Na diagramie poniżej znajdziesz informacje, który interfejs API należy użyć do implementacji animacji.
Aby wybrać interfejs API animacji, który najlepiej pasuje do Twojego przypadku użycia, odpowiedz na pytania w schemacie decyzyjnym poniżej:
- Czy Twoja animacja jest bardziej dziełem sztuki, złożonym z wielu elementów wizualnych, np. plików SVG lub obrazów?
- Tak: czy zawiera proste pliki SVG, np. ikonę z mikroanimacjami?
- Tak:
AnimatedVectorDrawable
- Nie: framework animacji innej firmy, np.
Lottie
- Tak:
- Nie: Czy ma się powtarzać w nieskończoność?
- Tak:
rememberInfiniteTransition
- Nie: Czy to jest animacja układu?
- Tak: przełączanie się między wieloma komponentami, które mają różne treści?
- Tak: z użyciem funkcji nawigacji-tworzenia?
- Tak:
composable()
z ustawionymi wartościamienterTransition
iexitTransition
- Nie:
AnimatedContent
,Crossfade
lubPager
- Tak:
- Nie: animacja pojawiania się i znikania?
- Tak:
AnimatedVisibility
lubanimateFloatAsState
zModifier.alpha()
- Nie: animacja rozmiaru?
- Tak:
Modifier.animateContentSize
- Nie: inne właściwości układu, np. przesunięcie, wypełnienie itp.
- Tak: patrz odpowiedź na pytanie „Czy usługi są od siebie całkowicie niezależne?”
- Nie: animacje elementów listy?
- Tak:
animateItemPlacement()
(wkrótce udostępnimy możliwość zmiany kolejności i usuwania).
- Tak:
- Tak:
- Tak:
- Tak: z użyciem funkcji nawigacji-tworzenia?
- Nie: Czy chcesz animować wiele obiektów?
- Tak: czy właściwości są od siebie całkowicie niezależne?
- Tak:
animate*AsState
, w przypadku tekstu użyjTextMotion.Animated
. - Nie: Rozpocznij w tym samym czasie?
- Tak:
updateTransition
zAnimatedVisibility
,animateFloat
,animateInt
itp. - Nie:
Animatable
zanimateTo
wywoływanym w różnych momentach (za pomocą funkcji zawieszania).
- Tak:
- Tak:
- Nie: czy animacja ma zestaw wstępnie zdefiniowanych wartości docelowych?
- Tak:
animate*AsState
, w przypadku tekstu użyjTextMotion.Animated
- Nie: animacja sterowana gestami? Twoja animacja jest jedynym wiarygodnym źródłem informacji?
- Tak:
Animatable
zanimateTo
/snapTo
- Nie: animacja jednokrotna bez zarządzania stanem?
- Tak:
AnimationState
lubanimate
. - Nie: odpowiedź nie znajduje się tutaj Przesyłanie prośby o dodanie funkcji
- Tak:
- Tak:
- Tak:
- Tak: czy właściwości są od siebie całkowicie niezależne?
- Tak: przełączanie się między wieloma komponentami, które mają różne treści?
- Tak:
- Tak: czy zawiera proste pliki SVG, np. ikonę z mikroanimacjami?
Pobierz diagram w formacie PDF.