แผงจะอธิบายพร็อพเพอร์ตี้ของพื้นที่ที่แผงนั้นครอบครองและทำหน้าที่เป็นคอนเทนเนอร์ของแอป คุณใช้การกำหนดค่า XML เพื่อกำหนดแผง ซึ่งเป็นวิธีที่ยืดหยุ่นและไม่ต้องเขียนโค้ดในการปรับแต่ง UI หากต้องการจัดการอินสแตนซ์และสถานะ ระบบจะติดตามแผงที่กำหนด
รายการแผง
UI ของระบบจะโหลดคำจำกัดความของแผงจากทรัพยากรอาร์เรย์ชื่อ
window_states อาร์เรย์ทรัพยากรนี้ชี้ไปยังไฟล์ XML ซึ่งมีการกำหนดค่าแผงแต่ละรายการ แนวทางแบบรวมศูนย์นี้หมายความว่าแผงที่จัดการโดย Scalable UI จะโหลดตามที่ตั้งใจไว้และพร้อมให้ระบบใช้งาน
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <array name="window_states">
       <item>@xml/app_panel</item>
       <item>@xml/back_panel</item>
       ...
   </array>
</resources>
คำจำกัดความของแผง
แต่ละแผงในเฟรมเวิร์ก UI ที่ปรับขนาดได้จะกำหนดด้วยแท็ก XML ที่ชื่อ
<TaskPanel> หรือ <DecorPanel> <TaskPanel> อธิบายพร็อพเพอร์ตี้ของ
คอนเทนเนอร์แอป ส่วน <DecorPanel> อธิบายพร็อพเพอร์ตี้ของคอนเทนเนอร์มุมมอง
UI ของระบบจะโหลดคำจำกัดความของแผงเหล่านี้และติดตามแผงจนกว่าจะมีการโหลดการกำหนดค่าอื่น เช่น การเปลี่ยนแปลงการกำหนดค่าเนื่องจากการหมุน
หรือคำขอของระบบที่ชัดเจน <TaskPanel> และ <DecorPanel> ทำหน้าที่เป็น
คอมโพเนนต์พื้นฐานสำหรับการสร้างประสบการณ์การใช้งานที่กำหนดเองผ่าน
คอมโพเนนต์ UI ที่กำหนดค่าได้
แอตทริบิวต์ XML
แท็ก <TaskPanel> สามารถมีแอตทริบิวต์เหล่านี้ที่คุณใช้เพื่อกำหนดสถานะ
และการเปลี่ยนสถานะได้
| แอตทริบิวต์ | สถานะ | คำอธิบาย | 
|---|---|---|
| id | บังคับ | ระบุตัวระบุที่ไม่ซ้ำกันสำหรับแผง แอตทริบิวต์นี้ใช้เพื่อ
    ดึงข้อมูลแผงจาก PanelPoolและจัดการสถานะของแผง
    ภายในระบบ | 
| role | บังคับ | กำหนดวัตถุประสงค์หรือฟังก์ชันของแผงในระบบ ค่า อาจอ้างอิงถึงทรัพยากรสตริง อาร์เรย์สตริงของชื่อคอมโพเนนต์ หรือ รหัสเลย์เอาต์ เช่น สามารถกำหนดกิจกรรมที่คงอยู่ซึ่งควร แสดงในแผงเสมอ หรือเลย์เอาต์ที่จะขยาย | 
| defaultVariant | ไม่บังคับ | ระบุรหัสของตัวแปรที่แผงควรใช้ในตอนแรก เมื่อโหลด หากไม่ได้ระบุไว้ ระบบจะใช้ตัวแปรที่กำหนดไว้ตัวแรกเป็นค่าเริ่มต้น ได้ | 
| displayId | ไม่บังคับ | ระบุรหัสของจอแสดงผลที่ต้องการให้แผงปรากฏ | 
| defaultLayer | ไม่บังคับ | ระบุลำดับ Z เริ่มต้นสำหรับตัวแปรของแผงได้หากตัวแปรไม่ได้กำหนดเลเยอร์อย่างชัดเจน | 
| controller | ไม่บังคับ อาจมีการเปลี่ยนแปลง | อ้างอิงทรัพยากร (โดยปกติคือรหัส XML) ที่กำหนดตัวควบคุมเฉพาะแผง ซึ่งอนุญาตให้จัดเก็บและส่งค่าการกำหนดค่า ไปยังตัวควบคุมแผงที่กำหนดเอง ตัวควบคุมเหล่านี้ควรใช้
    อินเทอร์เฟซ  | 
องค์ประกอบย่อย XML
แท็ก <TaskPanel> สามารถมีแอตทริบิวต์เหล่านี้เพื่อกำหนดลักษณะและ
ลักษณะการทำงานเริ่มต้น
| แอตทริบิวต์ | คำอธิบาย | 
|---|---|
| <Variant> | แท็กที่ซ้อนกันจะอธิบายการกำหนดค่าภาพที่เฉพาะเจาะจงสำหรับแผงใน เวลาใดก็ตาม แผงอาจมีหลายตัวแปร โดยแต่ละตัวแปรจะมี รหัสที่ไม่ซ้ำกัน แต่ละตัวแปรจะกำหนดพร็อพเพอร์ตี้ เช่น ขอบเขต การแสดงผล เลเยอร์ อัลฟ่า รัศมีมุม และระยะขอบสำหรับการกำหนดค่านั้นๆ ผลิตภัณฑ์ย่อย ยังรับช่วงพร็อพเพอร์ตี้จากผลิตภัณฑ์ย่อยระดับบนได้ด้วย | 
| <KeyFrameVariant> | ส่วนขยายของ <Variant>ช่วยให้สามารถประมาณค่า
    คุณสมบัติภาพระหว่างตัวแปรต่างๆ ตามค่าเศษส่วนต่อเนื่อง (0 ถึง 1) และใช้สำหรับการเปลี่ยนผ่านที่ราบรื่นและไดนามิก
    เช่น ระหว่างการลาก เมื่อสถานะของแผง
    ขึ้นอยู่กับอินพุตต่อเนื่อง เช่น จำนวนการลาก | 
| <Transitions> | แท็กที่ซ้อนกันมีคอลเล็กชันของ แต่ละ  | 
โค้ดตัวอย่าง
<TaskPanel id="@+id/panelId"
           role="@array/roleValue"
           defaultVariant="@id/closed"
           displayId="0" >
 <Variant id="@+id/base">
        <Bounds left="0" top="0" width="100%" height="100%"/>
 </Variant>
<Variant id="@+id/opened" parent="@id/base">
    <Visibility isVisible="true"/>
</Variant>
<Variant id="@+id/closed"  parent="@id/base">
    <Visibility isVisible="false"/>
</Variant>
<Transitions>
    <Transition fromVariant="@id/closed"
                toVariant="@id/opened"
                />
        <Event id="_System_TaskOpenEvent" panelId="@id/panelId" />
    </Transition>
</Transitions>
</TaskPanel>