הגדרת מעבר

משתמשים במעבר כדי להגדיר שינויים בין חלוניות. אפשר להגדיר מעבר כדי לתאר איך ומתי לבצע שינוי בין שני וריאנטים של חלונית. אפשר להגדיר רשימה של מעברים לכל חלונית.

משתמשים בתג <Transitions> XML כמאגר להגדרה אחת או יותר של <Transition> <TaskPanel> או <DecorPanel>. אפשר להשתמש בתג הזה כדי להגדיר קבוצה של כללי אנימציה שקובעים מתי ואיך חלונית צריכה לשנות את המצב החזותי שלה מגרסה אחת לגרסה אחרת.

מאפייני XML

התג <Transitions> יכול להגדיר ערכי ברירת מחדל לרכיבי הצאצא <Transition> הבאים:

מאפיין סטטוס תיאור
<defaultDuration> אופציונלי

מציין משך ברירת מחדל באלפיות השנייה שיחול על כל רכיבי הצאצא

רכיבי <Transition> שלא מוגדר בהם במפורש מאפיין משך.

אם לא מציינים את המאפיין הזה, המערכת משתמשת בקבוע DEFAULT_DURATION, בדרך כלל 300 אלפיות השנייה.

defaultInterpolator אופציונלי

הפניה למזהה משאב XML של Android Interpolator. לדוגמה, @android:anim/accelerate_decelerate_interpolator. ‫ interpolator משמש כברירת מחדל לכל רכיבי <Transition> צאצא שלא הוגדר להם במפורש מאפיין interpolator.

אם לא מציינים משתנה ברירת מחדל, המערכת בדרך כלל משתמשת ב-AccelerateDecelerateInterpolator כברירת מחדל.

רכיבי צאצא ב-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>