ضبط عملية انتقال

استخدِم انتقالاً لتحديد التغييرات بين اللوحات. يمكنك تحديد انتقال لوصف كيفية إجراء تغيير بين نوعَين مختلفَين من اللوحة ووقت إجراء هذا التغيير. يمكنك تحديد قائمة انتقالات لكل لوحة.

استخدِم علامة XML <Transitions> كحاوية لتعريف واحد أو أكثر من تعريفات <Transition> في إعداد <TaskPanel> أو <DecorPanel> واحد. يمكنك استخدام هذه العلامة لتحديد مجموعة من قواعد الرسوم المتحركة التي تحدّد متى وكيف يجب أن تغيّر اللوحة الحالة المرئية من شكل مختلف إلى آخر.

سمات XML

يمكن أن تحدّد العلامة <Transitions> القيم التلقائية لعناصر <Transition> الفرعية التالية:

السمة الحالة الوصف
<defaultDuration> اختياري

تحدّد مدة تلقائية بالملي ثانية يتم تطبيقها على جميع عناصر الفرعية

عناصر <Transition> التي لا تحدّد بشكل صريح سمة المدة

يتم استخدام الثابت DEFAULT_DURATION للنظام، والذي يبلغ عادةً 300 ملي ثانية، عند عدم تحديد هذه السمة.

defaultInterpolator اختياري

تشير إلى معرّف مورد XML الخاص بـ Android Interpolator. على سبيل المثال: @android:anim/accelerate_decelerate_interpolator. يتم استخدام أداة الربط كإعداد تلقائي لجميع عناصر <Transition> الثانوية التي لم يتم ضبط سمة أداة الربط لها بشكل صريح.

إذا لم يتم تحديد أداة استيفاء تلقائية، يضبط النظام تلقائيًا على 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>