پیکربندی یک انتقال

از یک گذار برای تعریف تغییرات بین پنل‌ها استفاده کنید. می‌توانید یک گذار را برای توصیف نحوه و زمان ایجاد تغییر بین دو نوع پنل تعریف کنید. می‌توانید لیستی از گذارها را برای هر پنل تعریف کنید.

از تگ XML <Transitions> به عنوان ظرفی برای یک یا چند تعریف <Transition> در پیکربندی یک <TaskPanel> یا <DecorPanel> استفاده کنید. می‌توانید از این تگ برای تعریف مجموعه‌ای از قوانین انیمیشن استفاده کنید تا مشخص شود چه زمانی و چگونه یک پنل باید حالت بصری را از یک نوع متمایز به نوع دیگر تغییر دهد.

ویژگی‌های XML

تگ <Transitions> می‌تواند مقادیر پیش‌فرض را برای این عناصر فرزند <Transition> تعریف کند:

ویژگی وضعیت توضیحات
<defaultDuration> اختیاری

مدت زمان پیش‌فرض را بر حسب میلی‌ثانیه مشخص می‌کند که برای همه فرزندان اعمال می‌شود.

عناصر <Transition> که صراحتاً ویژگی مدت زمان را تنظیم نمی‌کنند.

ثابت DEFAULT_DURATION سیستم، که معمولاً 300 میلی‌ثانیه است، زمانی استفاده می‌شود که این ویژگی مشخص نشده باشد.

defaultInterpolator اختیاری

به یک شناسه منبع XML میان‌یاب اندروید اشاره می‌کند. برای مثال، @android:anim/accelerate_decelerate_interpolator . میان‌یاب به عنوان پیش‌فرض برای همه عناصر فرزند <Transition> که به صراحت ویژگی میان‌یاب را تنظیم نمی‌کنند، استفاده می‌شود.

اگر هیچ میان‌یاب پیش‌فرضی مشخص نشده باشد، سیستم معمولاً به طور پیش‌فرض از AccelerateDecelerateInterpolator استفاده می‌کند.

عناصر فرزند XML

عنصر فرزند <Transitions> ، <Transition> است، عنصر اصلی که برای تعریف یک مسیر انیمیشن خاص بین انواع PanelState استفاده می‌شود. چندین عنصر <Transition> را می‌توان درون یک بلوک <Transitions> به صورت تو در تو قرار داد.

کد نمونه

در این نمونه، fromVariant اختیاری است. وقتی تعریف نشده باشد، از متغیر فعلی استفاده می‌شود. اگر fromVariant تعریف شده باشد، گذار فقط زمانی استفاده می‌شود که همه پارامترها مطابقت داشته باشند. پارامترها در Event و 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>

گذار

یک گذار (transition) نحوه‌ی متحرک‌سازی تغییر در حالت بصری بین دو نوع از یک پنل را شرح می‌دهد. یک گذار، مسیر را از یک نوع به نوع دیگر ترسیم می‌کند. برای انجام این کار، گذار جزئیاتی مانند انیمیشن مورد نظر برای اعمال و رویداد مورد نیاز برای شروع انیمیشن را مشخص می‌کند.

برای یک پنل، انتقال‌ها می‌توانند انیمیشن‌هایی را برای ویژگی‌هایی مانند مرزها، قابلیت مشاهده و آلفا تعریف کنند. اگر یک انیماتور سفارشی مشخص نشده باشد، از یک انیماتور پیش‌فرض استفاده می‌شود.

ویژگی‌های 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>