กำหนดค่าการเปลี่ยนฉาก

ใช้การเปลี่ยนฉากเพื่อกำหนดการเปลี่ยนแปลงระหว่างแผง คุณกำหนดการเปลี่ยน เพื่ออธิบายวิธีและเวลาที่จะทำการเปลี่ยนแปลงระหว่างแผง 2 รูปแบบได้ คุณ กําหนดรายการการเปลี่ยนฉากสําหรับแต่ละแผงได้

ใช้แท็ก XML <Transitions> เป็นคอนเทนเนอร์สำหรับคำจำกัดความอย่างน้อย 1 รายการในกำหนดค่าของ <TaskPanel> หรือ <DecorPanel> รายการเดียว<Transition> คุณสามารถใช้แท็กนี้เพื่อกำหนดชุดกฎภาพเคลื่อนไหวเพื่อควบคุมเวลาและวิธีที่แผงควรเปลี่ยนสถานะภาพจากตัวแปรหนึ่งไปยังอีกตัวแปรหนึ่ง

แอตทริบิวต์ XML

แท็ก <Transitions> สามารถกำหนดค่าเริ่มต้นสำหรับองค์ประกอบย่อย <Transition> เหล่านี้ได้

แอตทริบิวต์ สถานะ คำอธิบาย
<defaultDuration> ไม่บังคับ

ระบุระยะเวลาเริ่มต้นเป็นมิลลิวินาทีที่จะใช้กับย่อยทั้งหมด

องค์ประกอบ <Transition> ที่ไม่ได้ตั้งค่าแอตทริบิวต์ระยะเวลาอย่างชัดเจน

ระบบจะใช้ค่าคงที่ DEFAULT_DURATION ของระบบ ซึ่งโดยปกติคือ 300 มิลลิวินาที เมื่อไม่ได้ระบุแอตทริบิวต์นี้

defaultInterpolator ไม่บังคับ

อ้างอิงรหัสทรัพยากร XML ของตัวแทรก Android เช่น @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>

ทรานซิชัน

การเปลี่ยนฉากอธิบายวิธีสร้างภาพเคลื่อนไหวของการเปลี่ยนแปลงสถานะภาพระหว่างแผง 2 รูปแบบ การเปลี่ยนเส้นทางจะระบุเส้นทางจากตัวแปรหนึ่งไปยังอีกตัวแปรหนึ่ง โดยการเปลี่ยนฉากจะระบุรายละเอียดต่างๆ เช่น ภาพเคลื่อนไหวที่จะใช้และ เหตุการณ์ที่จำเป็นต่อการทริกเกอร์ภาพเคลื่อนไหว

สําหรับแผง การเปลี่ยนสามารถกําหนดภาพเคลื่อนไหวสําหรับพร็อพเพอร์ตี้ เช่น ขอบเขต การมองเห็น และอัลฟ่า หากไม่ได้ระบุภาพเคลื่อนไหวที่กำหนดเอง ระบบจะใช้ภาพเคลื่อนไหวเริ่มต้น

แอตทริบิวต์ 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>