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: Liệu sự kiện có cần lặp lại mãi 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ó: Với navigation-compose?
- Có:
composable()
vớienterTransition
vàexitTransition
được đặt - Không:
AnimatedContent
,Crossfade
hoặcPager
- Có:
- Không: Tạo ảnh động cho sự xuất hiện / biến mất?
- Có:
AnimatedVisibility
hoặcanimateFloatAsState
vớiModifier.alpha()
- Không: Tạo ảnh động cho 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ó: Với 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 thuộc tính 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: Ảnh động một lần chụp 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 thuộc tính 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ơ đồ.