เลือก API ภาพเคลื่อนไหว

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

โฟลว์ชาร์ตที่อธิบายแผนผังการตัดสินใจในการเลือก API ภาพเคลื่อนไหวที่เหมาะสม
รูปที่ 1 แผนผังการตัดสินใจที่อธิบายวิธีเลือก API ภาพเคลื่อนไหวที่เหมาะสม

โฟลว์ชาร์ตที่อธิบายแผนผังการตัดสินใจในการเลือก API ภาพเคลื่อนไหวที่เหมาะสม

ใช้แผนผังการตัดสินใจต่อไปนี้เพื่อเลือก API ภาพเคลื่อนไหวที่เหมาะสมที่สุดสำหรับกรณีการใช้งานของคุณ

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

ดาวน์โหลดเวอร์ชัน PDF ของไดอะแกรม