משתמשים במעבר כדי להגדיר שינויים בין חלוניות. אפשר להגדיר מעבר כדי לתאר איך ומתי לבצע שינוי בין שני וריאנטים של חלונית. אפשר להגדיר רשימה של מעברים לכל חלונית.
משתמשים בתג <Transitions>
XML כמאגר להגדרה אחת או יותר של <Transition>
<TaskPanel>
או <DecorPanel>
.
אפשר להשתמש בתג הזה כדי להגדיר קבוצה של כללי אנימציה שקובעים מתי ואיך חלונית צריכה לשנות את המצב החזותי שלה מגרסה אחת לגרסה אחרת.
מאפייני XML
התג <Transitions>
יכול להגדיר ערכי ברירת מחדל לרכיבי הצאצא <Transition>
הבאים:
מאפיין | סטטוס | תיאור |
---|---|---|
<defaultDuration> |
אופציונלי | מציין משך ברירת מחדל באלפיות השנייה שיחול על כל רכיבי הצאצא רכיבי אם לא מציינים את המאפיין הזה, המערכת משתמשת בקבוע |
defaultInterpolator |
אופציונלי | הפניה למזהה משאב XML של Android Interpolator. לדוגמה,
אם לא מציינים משתנה ברירת מחדל, המערכת בדרך כלל משתמשת ב- |
רכיבי צאצא ב-XML
רכיב הבן של <Transitions>
הוא <Transition>
, רכיב הליבה שמשמש להגדרת נתיב אנימציה ספציפי בין וריאציות של PanelState
. אפשר להוסיף כמה רכיבי <Transition>
בתוך בלוק <Transitions>
אחד.
קוד לדוגמה
בדוגמה הזו, fromVariant
הוא אופציונלי. אם לא מגדירים את המאפיין, המערכת משתמשת בגרסה הנוכחית. אם מוגדר fromVariant
, המעבר ישמש רק אם כל הפרמטרים תואמים. הפרמטרים מוגדרים באירוע וב-
fromVariant
.
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/linear_interpolator">
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
</Transition>
</Transitions>
מעבר
מעבר מתאר איך ליצור אנימציה של שינוי במצב חזותי בין שני וריאנטים של חלונית. מעבר מציין את הנתיב מווריאנט לווריאנט. לשם כך, המעבר מציין פרטים כמו האנימציה להחלה והאירוע שצריך להפעיל את האנימציה.
במקרה של חלונית, המעברים יכולים להגדיר אנימציות למאפיינים כמו גבולות, נראות ואלפא. אם לא מציינים אנימטור מותאם אישית, המערכת משתמשת באנימטור ברירת מחדל.
מאפייני XML
התג <Transition>
משתמש בכמה מאפיינים כדי להגדיר את המאפיינים של האנימציה ואת התנאים שבהם היא תתרחש.
רכיבי צאצא ב-XML
<Event>
מגדיר את המאפיינים של האירוע שיכול להפעיל את המעבר.
מאפיין | סטטוס | תיאור |
---|---|---|
<id> |
חובה | מזהה ייחודי של האירוע שמפעיל את הטריגר. |
<panelId> |
אופציונלי | המזהה הייחודי של החלונית שמשויכת לאירוע. |
componentName |
אופציונלי | שם הרכיב שמשויך לאירוע הזה. |
packageName |
אופציונלי | שם החבילה שמשויך לאירוע. |
קוד לדוגמה
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/accelerate_interpolator">
<!-- A transition from 'closed_app' to 'opened_app' variant, triggered by 'open_app_event' -->
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
<Transition>
<!-- A transition from 'opened_app' to 'closed_app' variant, using a custom animator -->
<Transition fromVariant="opened_app"
toVariant="closed_app"
animator="@animator/close_app">
<Event id="_System_PanelEmptyEvent"
panelId="application_panel" />
<Transition>
</Transitions>