<KeyFrameSet>

ระบุตําแหน่งและแอตทริบิวต์สําหรับมุมมองตลอดลําดับการเคลื่อนไหว โดยค่าเริ่มต้น การเคลื่อนไหวจะดำเนินจากสถานะเริ่มต้นไปยังสถานะสุดท้าย เมื่อใช้ <KeyFrameSet> คุณจะสร้างการเคลื่อนไหวที่ซับซ้อนมากขึ้นได้

<KeyFrameSet> มีโหนด <KeyPosition> หรือ <KeyAttribute> โหนดเหล่านี้ระบุตําแหน่งหรือแอตทริบิวต์ของมุมมองเป้าหมาย ณ จุดหนึ่งๆ ในการเคลื่อนไหว MotionLayout แสดงภาพเคลื่อนไหวของมุมมองจากจุดเริ่มต้นไปยังจุดพักแต่ละจุดอย่างราบรื่น แล้วไปยังจุดหมายสุดท้าย

สมมติว่าสถานะเริ่มต้นของลำดับการเคลื่อนไหวมีลูกบอลทึบที่มุมล่างซ้ายของมุมมอง และสถานะสุดท้ายทําให้ลูกบอลโปร่งใสที่มุมขวาบน โดยค่าเริ่มต้น MotionLayout จะย้ายลูกบอลอย่างราบรื่นในแนวทแยง โดยค่อยๆ โปร่งใสขึ้นจนหายไปเมื่อถึงปลายทาง คุณเปลี่ยนลักษณะการทำงานนี้ได้โดยใช้ <KeyFrameSet> เช่น คุณอาจทําให้ลูกบอลเลื่อนขึ้นแนวตั้งไปยังมุมซ้ายบนขณะที่ยังคงทึบแสงอยู่ จากนั้นเลื่อนไปแนวนอนไปยังมุมขวาบนขณะค่อยๆ เลือนหายไป ซึ่งทำได้โดยสร้าง <KeyFrameSet> แล้วใส่ <KeyPosition> และ <KeyAttribute> เข้าไป <KeyPosition> ระบุตำแหน่งกลางของลูกบอล และ <KeyAttribute> ระบุว่าลูกบอลยังคงทึบแสงเมื่ออยู่ตรงกลางของการเคลื่อนไหว

วากยสัมพันธ์

<KeyFrameSet>
    [ <KeyPosition/>... ]
    [ <KeyAttribute/>...]
</KeyFrameSet>

อยู่ใน

<Transition>

ประกอบด้วย

<KeyPosition>
ระบุตำแหน่งของมุมมอง ณ ช่วงเวลาหนึ่งๆ ในระหว่างลำดับการเคลื่อนไหว
<KeyAttribute>
ระบุแอตทริบิวต์มุมมอง ณ ช่วงเวลาหนึ่งๆ ในระหว่างลำดับการเคลื่อนไหว