Sơ đồ dưới đây giúp bạn quyết định nên sử dụng API nào để triển khai ảnh động.
Làm theo các câu hỏi trong 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 tác phẩm nghệ thuật hơn, bao gồm nhiều thành phần hình ảnh không? tức là SVG hoặc hình ảnh
- Có: Biểu tượng có 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: Tạo ảnh động xuất hiện / biến mất?
- Có:
AnimatedVisibility
hoặcanimateFloatAsState
khi cóModifier.alpha()
- Không: Tạo ảnh động theo kích thước?
- Có:
Modifier.animateContentSize
- Không: Thuộc tính bố cục khác? tức là độ dời, khoảng đệm, v.v.
- Có: 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 cho mục danh sách?
- Có:
animateItemPlacement()
(sắp có tính năng 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 một lúc?
- Có: Có:
updateTransition
vớiAnimatedVisibility
,animateFloat
,animateInt
, v.v. - Không:
Animatable
vớianimateTo
được gọi theo các 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 sử dụngTextMotion.Animated
- Không: Ảnh động do cử chỉ điều khiển? Ảnh động của bạn có phải là nguồn đáng tin cậy duy nhất không?
- Có:
Animatable
vớianimateTo
/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ó: Biểu tượng có SVG đơn giản không? tức là biểu tượng có ảnh động vi mô
Tải bản PDF của sơ đồ.