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