از یک گذار برای تعریف تغییرات بین پنلها استفاده کنید. میتوانید یک گذار را برای توصیف نحوه و زمان ایجاد تغییر بین دو نوع پنل تعریف کنید. میتوانید لیستی از گذارها را برای هر پنل تعریف کنید.
از تگ XML <Transitions>
به عنوان ظرفی برای یک یا چند تعریف <Transition>
در پیکربندی یک <TaskPanel>
یا <DecorPanel>
استفاده کنید. میتوانید از این تگ برای تعریف مجموعهای از قوانین انیمیشن استفاده کنید تا مشخص شود چه زمانی و چگونه یک پنل باید حالت بصری را از یک نوع متمایز به نوع دیگر تغییر دهد.
ویژگیهای XML
تگ <Transitions>
میتواند مقادیر پیشفرض را برای این عناصر فرزند <Transition>
تعریف کند:
ویژگی | وضعیت | توضیحات |
---|---|---|
<defaultDuration> | اختیاری | مدت زمان پیشفرض را بر حسب میلیثانیه مشخص میکند که برای همه فرزندان اعمال میشود. عناصر <Transition> که صراحتاً ویژگی مدت زمان را تنظیم نمیکنند. ثابت |
defaultInterpolator | اختیاری | به یک شناسه منبع XML میانیاب اندروید اشاره میکند. برای مثال، اگر هیچ میانیاب پیشفرضی مشخص نشده باشد، سیستم معمولاً به طور پیشفرض از |
عناصر فرزند 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>