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