Panel opisuje właściwości obszaru, który zajmuje, i działa jako kontener aplikacji. Konfiguracje XML służą do definiowania paneli, które zapewniają elastyczne i nie wymagające pisania kodu podejście do dostosowywania interfejsów. Aby zarządzać instancjami i stanami, system śledzi zdefiniowane panele.
Lista paneli
Interfejs systemu wczytuje definicje paneli z zasobu tablicy o nazwie window_states. Ta tablica zasobów wskazuje pliki XML, w których zdefiniowane są poszczególne konfiguracje paneli. Dzięki temu scentralizowanemu podejściu panele zarządzane przez skalowalny interfejs są wczytywane zgodnie z przeznaczeniem i gotowe do użycia przez system.
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <array name="window_states">
       <item>@xml/app_panel</item>
       <item>@xml/back_panel</item>
       ...
   </array>
</resources>
Definicja panelu
Każdy panel w ramach skalowalnego interfejsu jest definiowany za pomocą tagu XML o nazwie <TaskPanel> lub <DecorPanel>. <TaskPanel> opisuje właściwości kontenera aplikacji, a <DecorPanel> – właściwości kontenera widoku.
Interfejs systemu wczytuje te definicje paneli i śledzi je do momentu wczytania innej konfiguracji, np. w wyniku zmiany konfiguracji spowodowanej obróceniem urządzenia lub wyraźną prośbą systemu. <TaskPanel> i <DecorPanel> to podstawowe komponenty, które umożliwiają tworzenie niestandardowych rozwiązań za pomocą konfigurowalnych komponentów interfejsu.
Atrybuty XML
Tag <TaskPanel> może zawierać te atrybuty, których możesz używać do definiowania stanów i przejść.
| Atrybut | Stan | Opis | 
|---|---|---|
| id | Obowiązkowe | Określa unikalny identyfikator panelu. Ten atrybut służy do pobierania panelu z PanelPooli zarządzania jego stanem w systemie. | 
| role | Obowiązkowe | Określa cel lub funkcję panelu w systemie. Wartość może odnosić się do zasobu ciągu tekstowego, tablicy ciągów tekstowych z nazwami komponentów lub identyfikatora układu. Może na przykład definiować trwałe działania, które powinny być zawsze wyświetlane na panelu, lub układ do rozwinięcia. | 
| defaultVariant | Opcjonalny | Określa identyfikator wariantu, który panel powinien początkowo przyjąć po wczytaniu. Jeśli nie zostanie określona, system może użyć pierwszej zdefiniowanej wersji jako domyślnej. | 
| displayId | Opcjonalny | Określa identyfikator wyświetlacza, na którym ma się pojawić panel. | 
| defaultLayer | Opcjonalny | Może określać domyślną kolejność Z wariantów panelu, jeśli warianty nie definiują jednoznacznie warstwy. | 
| controller | Opcjonalnie, może ulec zmianie | Odwołuje się do zasobu (zwykle identyfikatora XML), który definiuje kontroler specyficzny dla panelu, co umożliwia przechowywanie i przekazywanie wartości konfiguracji do niestandardowych kontrolerów paneli. Te kontrolery powinny implementować interfejs  | 
Elementy podrzędne XML
Tag <TaskPanel> może zawierać te atrybuty, aby określać cechy i domyślne zachowania.
| Atrybut | Opis | 
|---|---|
| <Variant> | Tag zagnieżdżony opisuje konkretną konfigurację wizualną panelu w danym momencie. Panel może mieć wiele wariantów, z których każdy jest identyfikowany za pomocą unikalnego identyfikatora. Każdy wariant określa właściwości takie jak granice, widoczność, warstwa, przezroczystość, promień zaokrąglenia i wstawki dla danej konfiguracji. Warianty mogą też dziedziczyć właściwości po nadrzędnym wariancie. | 
| <KeyFrameVariant> | Rozszerzenie <Variant>umożliwia interpolację właściwości wizualnych między różnymi wariantami na podstawie ciągłej wartości ułamka (od 0 do 1) i jest używane do płynnych i dynamicznych przejść, np. podczas przeciągania, gdy stan panelu zależy od ciągłego wejścia, takiego jak wartość przeciągnięcia. | 
| <Transitions> | Tag zagnieżdżony zawiera zbiór definicji  Każdy element  | 
Kod demonstracyjny
<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>