מציינת את המיקום של תצוגה ברגע מסוים ברצף התנועה. המאפיין הזה משמש לשינוי נתיב ברירת המחדל של התנועה.
לדוגמה, אם אובייקט מתחיל בפינה השמאלית העליונה ומסתיים ב-
בפינה הימנית התחתונה, רצף התנועה שמוגדר כברירת מחדל מזיז את האובייקט באלכסון למטה
במסך. על ידי הוספה של רכיב <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מפורשות. ההגדרות האפשריות הן: parentRelativepercentXו-percentYמצוינים ביחס אל התצוגה המפורטת הראשית. X הוא הציר האופקי, ובחלק השמאלי הוא נע בין 0 מצד 1 לצד ימין. Y הוא הציר האנכי, ו-0 הוא הציר וה-1 הוא הכי תחתון.לדוגמה, אם רוצים שתצוגת היעד תגיע לנקודה באמצע משמאל לתצוגת ההורה, מגדירים את
percentXל-1 וpercentYעד 0.5.deltaRelativepercentXו-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.