ระบุตำแหน่งของมุมมอง ณ ช่วงเวลาที่เจาะจงระหว่างลำดับการเคลื่อนไหว แอตทริบิวต์นี้ใช้เพื่อปรับเส้นทางการเคลื่อนไหวเริ่มต้น
ตัวอย่างเช่น หากออบเจ็กต์เริ่มต้นที่มุมบนซ้ายและสิ้นสุดที่
มุมขวาล่าง ลำดับการเคลื่อนไหวเริ่มต้นจะย้ายวัตถุในแนวทแยงลง
หน้าจอ การเพิ่มองค์ประกอบ <KeyPosition>
อย่างน้อย 1 รายการจะทำให้
เส้นทาง
วากยสัมพันธ์
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
แอตทริบิวต์
motion:motionTarget
- ดูว่า
<KeyPosition>
นี้ควบคุมการเคลื่อนไหวของใคร motion:framePosition
- จำนวนเต็มตั้งแต่ 1 ถึง 99 ที่ระบุเมื่ออยู่ในลำดับการเคลื่อนไหวที่มุมมองเข้าถึง
จุดที่ระบุโดย
<KeyPosition>
นี้ ตัวอย่างเช่น หากframePosition
อายุ 25 ปี มุมมองถึงจุดที่ระบุ เศษ 1 ส่วน 4 ของการเคลื่อนไหว motion:percentX
,motion:percentY
- ระบุตำแหน่งที่มุมมองเข้าถึง
keyPositionType
จะระบุวิธีการตีความค่าเหล่านี้ motion:keyPositionType
- ระบุว่าค่า
percentX
และpercentY
เป็นอย่างไร ได้รับการแปลแล้ว การตั้งค่าที่ใช้ได้มีดังนี้ parentRelative
มีการระบุ
percentX
และpercentY
ที่สัมพันธ์กับ ในมุมมองระดับบนสุด X คือแกนแนวนอนซึ่งมีค่าตั้งแต่ 0 สำหรับด้านซ้าย ด้าน 1 สำหรับด้านขวา Y คือแกนแนวตั้ง โดยที่ 0 คือ ด้านบนและ 1 คือด้านล่างตัวอย่างเช่น ถ้าคุณต้องการให้มุมมองเป้าหมายไปถึงจุดตรงกลาง ทางด้านขวาของมุมมองระดับบนสุด ให้ตั้งค่า
percentX
เป็น 1 และpercentY
ถึง 0.5deltaRelative
มีการระบุ
percentX
และpercentY
ที่สัมพันธ์กับ ระยะทางที่มุมมองเลื่อนไปตลอดลำดับการเคลื่อนไหวทั้งหมด X คือแกนแนวนอนและ Y คือแกนแนวตั้ง ในทั้ง 2 รูปแบบ กรณีต่างๆ 0 คือตำแหน่งเริ่มต้นของมุมมองในแกนนั้น และ 1 คือตำแหน่งสุดท้าย ตำแหน่งสมมติว่ามุมมองเป้าหมายย้าย 100 dp ขึ้นและ 100 dp ไปทางขวา แต่คุณต้องการ มุมมองที่จะเลื่อนลงไป 40 dp สำหรับการเคลื่อนไหว 1 ใน 4 ส่วน จากนั้นโค้งกลับไป ขึ้น ตั้งค่า
framePosition
เป็น 25keyPositionType
เป็นdeltaRelative
และpercentY
เป็น -0.4pathRelative
แกน X คือทิศทางที่มุมมองเป้าหมายเลื่อนไปตาม โดย 0 คือตำแหน่งเริ่มต้น และ 1 คือตำแหน่งสุดท้าย แกน Y ตั้งฉากกับแกน X โดยมีค่าบวกทางด้านซ้ายของกราฟ พาธและค่าลบไปทางขวา ดังนั้นตำแหน่งเริ่มต้นของมุมมองคือ
(0,0)
และตำแหน่งสุดท้ายคือ(1,0)
การตั้งค่าpercentY
ที่ไม่เป็น 0 จะทำให้มุมมองโค้งไปยังทิศทางใดทิศทางหนึ่ง หรือ อื่นๆสมมติว่าคุณต้องการให้มุมมองแสดงครึ่งหนึ่งของลำดับการเคลื่อนไหวเพื่อให้ครอบคลุม 10% ของ จากระยะทางรวม จากนั้นเร่งความเร็วให้ครอบคลุมพื้นที่อื่นๆ อีก 90% ตั้งค่า
framePosition
ถึง 50keyPositionType
ถึงpathRelative
และpercentX
เป็น 0.1percentY
ยังคงเป็น 0