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