Sơ đồ dưới đây giúp bạn quyết định nên sử dụng API nào để triển khai ảnh động.
Hãy làm theo các câu hỏi trong cây quyết định bên dưới để chọn API ảnh động phù hợp nhất với trường hợp sử dụng của bạn:
- Ảnh động của tôi có giống nghệ thuật hơn, bao gồm nhiều phần tử hình ảnh không? chẳng hạn như SVG hoặc hình ảnh
- Có: Lớp này có hình ảnh SVG đơn giản không? tức là biểu tượng có ảnh động vi mô
- Có:
AnimatedVectorDrawable
- Không: Khung ảnh động của bên thứ ba, tức là
Lottie
- Có:
- Không: Sự kiện có cần lặp lại vĩnh viễn không?
- Có:
rememberInfiniteTransition
- Không: Đây có phải là ảnh động bố cục không?
- Có: Thay đổi giữa nhiều thành phần kết hợp có nội dung khác nhau?
- Có: Dùng navigation-compose?
- Có:
composable()
vớienterTransition
vàexitTransition
được đặt - Không:
AnimatedContent
,Crossfade
hoặcPager
- Có:
- Không: Hoạt ảnh xuất hiện / biến mất?
- Có:
AnimatedVisibility
hoặcanimateFloatAsState
khi cóModifier.alpha()
- Không: Kích thước ảnh động?
- Có:
Modifier.animateContentSize
- Không: Thuộc tính bố cục khác, tức là độ lệch, khoảng đệm, v.v.
- Có: Hãy xem phần "Các cơ sở lưu trú có hoàn toàn độc lập với nhau không?"
- Không: Ảnh động của mục danh sách?
- Có:
animateItemPlacement()
(sắp xếp lại và xoá)
- Có:
- Có:
- Có:
- Có: Dùng navigation-compose?
- Không: Bạn có cần tạo ảnh động cho nhiều thuộc tính không?
- Có: Các tài sản có hoàn toàn độc lập với nhau không?
- Có:
animate*AsState
, đối với Văn bản, hãy sử dụngTextMotion.Animated
- Không: Bắt đầu cùng lúc?
- Có: Có:
updateTransition
vớiAnimatedVisibility
,animateFloat
,animateInt
, v.v. - Không:
Animatable
vớianimateTo
được gọi với thời gian khác nhau (sử dụng hàm tạm ngưng)
- Có: Có:
- Có:
- Không: Ảnh động có một tập hợp các giá trị mục tiêu được xác định trước không?
- Có:
animate*AsState
, đối với Văn bản, hãy dùngTextMotion.Animated
- Không: Ảnh động bằng cử chỉ? Ảnh động của bạn có phải là nguồn đáng tin cậy duy nhất?
- Có:
Animatable
choanimateTo
/snapTo
- Không: Hoạt ảnh một lần mà không có tính năng quản lý trạng thái?
- Có:
AnimationState
hoặcanimate
- Không: Câu trả lời không có ở đây? Gửi yêu cầu về tính năng
- Có:
- Có:
- Có:
- Có: Các tài sản có hoàn toàn độc lập với nhau không?
- Có: Thay đổi giữa nhiều thành phần kết hợp có nội dung khác nhau?
- Có:
- Có: Lớp này có hình ảnh SVG đơn giản không? tức là biểu tượng có ảnh động vi mô
Tải phiên bản PDF của biểu đồ.