แผนภาพด้านล่างจะช่วยคุณตัดสินใจว่าควรใช้ 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