<KeyPosition>

מציינת את המיקום של תצוגה ברגע מסוים ברצף התנועה. המאפיין הזה משמש לשינוי נתיב ברירת המחדל של התנועה.

לדוגמה, אם אובייקט מתחיל בפינה השמאלית העליונה ומסתיים ב- בפינה הימנית התחתונה, רצף התנועה שמוגדר כברירת מחדל מזיז את האובייקט באלכסון למטה במסך. על ידי הוספה של רכיב <KeyPosition> אחד או יותר, אפשר לשנות את העיצוב של נתיב.

תחביר

<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. התצוגה מגיעה לנקודה שצוינה שליש מהרוחב של התנועה.
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 הוא הציר האנכי. בשניהם במקרים מסוימים, 0 הוא המיקום ההתחלתי של התצוגה בציר הזה ו-1 הוא המיקום הסופי המיקום.

    נניח שתצוגת היעד זזה ב-100dp למעלה ו-100dp ימינה, התצוגה יורדת למטה 40dp ברבעון הראשון של התנועה, ואז קשת אחורה למעלה. הגדרה של framePosition ל-25, keyPositionType כ- deltaRelative, ו-percentY עד 0.4.

  • pathRelative
  • ציר ה-X הוא הכיוון שבו תצוגת היעד נעה לאורך כאשר 0 הוא המיקום ההתחלתי ו-1 הוא המיקום הסופי. ציר ה-Y הוא מאונך לציר ה-X, עם ערכים חיוביים משמאל לציר ואת הערכים השליליים מימין. לכן המיקום ההתחלתי של התצוגה הוא (0,0) והמיקום הסופי הוא (1,0). הגדרה של percentY שאינו אפס גורם לתצוגה לקשת לכיוון אחד אחר.

    נניח שרוצים שהתצוגה תכסה מחצית מרצף התנועה ותכסה 10% את המרחק הכולל, ולאחר מכן מגבירים את המהירות כדי לכסות את 90 האחוזים האחרים. סיום framePosition עד 50, keyPositionType עד pathRelative, ו-percentX ל-0.1. הערך של percentY נשאר 0.

בתוך