แผนภาพต่อไปนี้จะช่วยคุณตัดสินใจว่าจะใช้ API ใดเพื่อใช้ภาพเคลื่อนไหว

ใช้แผนผังการตัดสินใจต่อไปนี้เพื่อเลือก API ภาพเคลื่อนไหวที่เหมาะสมที่สุดสำหรับกรณีการใช้งานของคุณ
- ภาพเคลื่อนไหวของคุณเป็นภาพวาด (เช่น SVG หรือรูปภาพ) ใช่ไหม
- ใช่: ใช้ SVG แบบง่ายไหม (เช่น ไอคอนที่มีภาพเคลื่อนไหวขนาดเล็ก)
- ใช่:
AnimatedVectorDrawable
- ไม่ได้: เฟรมเวิร์กภาพเคลื่อนไหวของบุคคลที่สาม เช่น
Lottie
- ใช่:
- ไม่: ภาพเคลื่อนไหวต้องเล่นซ้ำไปเรื่อยๆ ไหม
- ใช่:
rememberInfiniteTransition
- ไม่: คุณกำลังสร้างภาพเคลื่อนไหวเลย์เอาต์ใช่ไหม
- ใช่: คุณสลับระหว่าง Composable ที่มีเนื้อหาต่างกันใช่ไหม
- ใช่: คุณใช้ Navigation-Compose อยู่ใช่ไหม
- ได้
composable()
โดยตั้งค่าenterTransition
และexitTransition
- ไม่ได้:
AnimatedContent
,Crossfade
หรือPager
- ได้
- ไม่ได้: คุณกำลังสร้างภาพเคลื่อนไหวให้เนื้อหาปรากฏหรือหายไปใช่ไหม
- ได้:
AnimatedVisibility
หรือanimateFloatAsState
กับModifier.alpha()
- ไม่ได้: คุณกำลังเคลื่อนไหวการเปลี่ยนแปลงขนาดใช่ไหม
- ใช่:
Modifier.animateContentSize
- ไม่: คุณกำลังเคลื่อนไหวพร็อพเพอร์ตี้เลย์เอาต์อื่น (เช่น ออฟเซ็ตหรือระยะขอบ) ใช่ไหม
- ใช่: ดูส่วน "ที่พักแต่ละแห่งแยกจากกันโดยสิ้นเชิงใช่ไหม"
- ไม่: คุณกำลังทำให้รายการเคลื่อนไหวใช่ไหม
- ใช่:
- ได้:
- ใช่: คุณใช้ Navigation-Compose อยู่ใช่ไหม
- ไม่: คุณกำลังทำให้พร็อพเพอร์ตี้หลายรายการเคลื่อนไหวใช่ไหม
- ใช่: พร็อพเพอร์ตี้แยกจากกันโดยสิ้นเชิงใช่ไหม
- ใช่:
animate*AsState
สำหรับข้อความ ให้ใช้TextMotion.Animated
- ไม่: การทดสอบต้องเริ่มพร้อมกันไหม
- ได้:
updateTransition
กับAnimatedVisibility
,animateFloat
,animateInt
ฯลฯ - ไม่ได้:
Animatable
ที่มีanimateTo
ซึ่งเรียกใช้โดยมีการกำหนดเวลาที่แตกต่างกันโดยใช้ฟังก์ชันระงับ
- ได้:
- ใช่:
- ไม่: ภาพเคลื่อนไหวมีค่าเป้าหมายที่กำหนดไว้ล่วงหน้าหรือไม่
- ใช่:
animate*AsState
สำหรับข้อความ ให้ใช้TextMotion.Animated
- ไม่ได้: ท่าทางสัมผัสเป็นตัวขับเคลื่อนภาพเคลื่อนไหวและเป็นแหล่งข้อมูลที่ถูกต้องเพียงแหล่งเดียวใช่ไหม
- ได้
Animatable
โดยใช้animateTo
/snapTo
- ไม่: เป็นภาพเคลื่อนไหวแบบครั้งเดียวที่ไม่มีการจัดการสถานะใช่ไหม
- ใช่:
AnimationState
หรือanimate
- ไม่: หากไม่พบคำตอบที่นี่ ส่งคำขอฟีเจอร์
- ใช่:
- ได้
- ใช่:
- ใช่: พร็อพเพอร์ตี้แยกจากกันโดยสิ้นเชิงใช่ไหม
- ใช่: คุณสลับระหว่าง Composable ที่มีเนื้อหาต่างกันใช่ไหม
- ใช่:
- ใช่: ใช้ SVG แบบง่ายไหม (เช่น ไอคอนที่มีภาพเคลื่อนไหวขนาดเล็ก)
ดาวน์โหลดเวอร์ชัน PDF ของไดอะแกรม