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

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

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

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

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

  • ภาพเคลื่อนไหวของคุณเป็นงานศิลปะ (เช่น SVG หรือรูปภาพ) ใช่ไหม
    • ใช่: ไอคอนใช้ SVG แบบง่าย (นั่นคือไอคอนที่มีภาพเคลื่อนไหวขนาดเล็ก) หรือไม่
      • มี AnimatedVectorDrawable
      • ไม่: เฟรมเวิร์กภาพเคลื่อนไหวของบุคคลที่สาม เช่น Lottie
    • ไม่: ภาพเคลื่อนไหวต้องเล่นซ้ำไปเรื่อยๆ ไหม
      • มี rememberInfiniteTransition
      • ไม่: คุณกำลังทำให้เลย์เอาต์เคลื่อนไหวใช่ไหม
        • ใช่: คุณสลับใช้คอมโพสพอยต์ที่มีเนื้อหาต่างกันหรือไม่
          • ใช่: คุณใช้ 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