<ตำแหน่งหลัก>

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

ตัวอย่างเช่น หากออบเจ็กต์เริ่มต้นที่มุมบนซ้ายและสิ้นสุดที่ มุมขวาล่าง ลำดับการเคลื่อนไหวเริ่มต้นจะย้ายวัตถุในแนวทแยงลง หน้าจอ การเพิ่มองค์ประกอบ <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.5

  • deltaRelative
  • มีการระบุ percentX และ percentY ที่สัมพันธ์กับ ระยะทางที่มุมมองเลื่อนไปตลอดลำดับการเคลื่อนไหวทั้งหมด X คือแกนแนวนอนและ Y คือแกนแนวตั้ง ในทั้ง 2 รูปแบบ กรณีต่างๆ 0 คือตำแหน่งเริ่มต้นของมุมมองในแกนนั้น และ 1 คือตำแหน่งสุดท้าย ตำแหน่ง

    สมมติว่ามุมมองเป้าหมายย้าย 100 dp ขึ้นและ 100 dp ไปทางขวา แต่คุณต้องการ มุมมองที่จะเลื่อนลงไป 40 dp สำหรับการเคลื่อนไหว 1 ใน 4 ส่วน จากนั้นโค้งกลับไป ขึ้น ตั้งค่า framePosition เป็น 25 keyPositionType เป็น deltaRelative และ percentY เป็น -0.4

  • pathRelative
  • แกน X คือทิศทางที่มุมมองเป้าหมายเลื่อนไปตาม โดย 0 คือตำแหน่งเริ่มต้น และ 1 คือตำแหน่งสุดท้าย แกน Y ตั้งฉากกับแกน X โดยมีค่าบวกทางด้านซ้ายของกราฟ พาธและค่าลบไปทางขวา ดังนั้นตำแหน่งเริ่มต้นของมุมมองคือ (0,0) และตำแหน่งสุดท้ายคือ (1,0) การตั้งค่า percentY ที่ไม่เป็น 0 จะทำให้มุมมองโค้งไปยังทิศทางใดทิศทางหนึ่ง หรือ อื่นๆ

    สมมติว่าคุณต้องการให้มุมมองแสดงครึ่งหนึ่งของลำดับการเคลื่อนไหวเพื่อให้ครอบคลุม 10% ของ จากระยะทางรวม จากนั้นเร่งความเร็วให้ครอบคลุมพื้นที่อื่นๆ อีก 90% ตั้งค่า framePosition ถึง 50 keyPositionType ถึง pathRelative และ percentX เป็น 0.1 percentY ยังคงเป็น 0

มีใน