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 dạng cây quyết định dưới đây để 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 với tác phẩm nghệ thuật hơn, bao gồm nhiều thành phần hình ảnh không? Ví dụ: SVG hoặc hình ảnh
- Có: Hình ảnh có đồ hoạ vectơ đơ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: Bạ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ó: Bạn có thể dùng navigation-compose?
- Có:
composable()
vớienterTransition
vàexitTransition
đã được đặt - Không:
AnimatedContent
,Crossfade
hoặcPager
- Có:
- Không: Tạo ảnh động xuất hiện / biến mất?
- Có:
AnimatedVisibility
hoặcanimateFloatAsState
cùng vớiModifier.alpha()
- Không: Kích thước ảnh động?
- Có:
Modifier.animateContentSize
- Không: Thuộc tính bố cục khác? Ví dụ: độ lệch, khoảng đệm, v.v.
- Có: Hãy xem phần "Các tài sản có hoàn toàn độc lập với nhau không?"
- Không: Ảnh động cho mục trong danh sách?
- Có:
animateItemPlacement()
(sắp xếp lại và xoá)
- Có:
- Có:
- Có:
- Có: Bạn có thể 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 cơ sở lưu trú 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 phải không?
- Có: Có:
updateTransition
cùng vớiAnimatedVisibility
,animateFloat
,animateInt
, v.v. - Không:
Animatable
cóanimateTo
được gọi với các dấu thời gian khác (sử dụng các hàm tạm ngưng)
- Có: Có:
- Có:
- Không: Ảnh động có tập hợp 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 sử dụngTextMotion.Animated
- Không: Hoạt ảnh dựa trên cử chỉ? Ảnh động của bạn là nguồn đáng tin cậy duy nhất?
- Có:
Animatable
bằnganimateTo
/snapTo
- Không: Ảnh động một lần mà không cần 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 cơ sở lưu trú 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ó: Hình ảnh có đồ hoạ vectơ đơ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 đồ xuống.