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

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

ใช้<Transitions>แท็ก XML เป็นคอนเทนเนอร์สำหรับคำจำกัดความอย่างน้อย 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>