חלונית מתארת את המאפיינים של האזור שהיא תופסת ומשמשת כמאגר של אפליקציה. הגדרות XML משמשות להגדרת חלוניות, ומספקות גישה גמישה ללא קוד להתאמה אישית של ממשקי משתמש. כדי לנהל מופעים ומצבים, המערכת עוקבת אחרי לוחות מוגדרים.
רשימת חלוניות
ממשק המשתמש של המערכת טוען את ההגדרות של החלוניות שלו ממערך משאבים בשם 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>
הגדרת הפאנל
כל חלונית במסגרת ממשק המשתמש הניתן להרחבה מוגדרת באמצעות תג XML בשם <TaskPanel>
, שמתאר את המאפיינים של מאגר אפליקציות. ממשק המשתמש של המערכת טוען את הגדרות החלוניות האלה ועוקב אחרי החלוניות עד לטעינה של הגדרה אחרת.
לדוגמה, עקב שינוי בהגדרה בגלל רוטציה או בקשה מפורשת של המערכת. הרכיב <TaskPanel>
משמש כרכיב בסיסי ליצירת חוויה מותאמת אישית באמצעות רכיבי ממשק משתמש שניתנים להגדרה.
מאפייני XML
התג <TaskPanel>
יכול להכיל את המאפיינים הבאים שבהם אפשר להשתמש כדי להגדיר מצבים ומעברים.
מאפיין | סטטוס | תיאור |
---|---|---|
id |
חובה | מציין מזהה ייחודי של החלונית. המאפיין הזה משמש לאחזור החלונית מ-PanelPool ולניהול המצב שלה במערכת. |
role |
חובה | הגדרה של המטרה או הפונקציה של החלונית במערכת. הערך יכול להפנות למשאב מחרוזת, למערך מחרוזות של שמות רכיבים או למזהה פריסה. לדוגמה, אפשר להגדיר פעילויות מתמידות שצריכות להיות מוצגות תמיד בחלונית, או פריסה שצריך להרחיב. |
defaultVariant |
אופציונלי | מציין את המזהה של הווריאציה שהלוח צריך לאמץ בהתחלה כשהוא נטען. אם לא מציינים, המערכת יכולה להשתמש בגרסה הראשונה שהוגדרה כברירת מחדל. |
displayId |
אופציונלי | מציין את המזהה של המסך שבו אמורה להופיע החלונית. |
defaultLayer |
אופציונלי | אפשר לציין סדר Z כברירת מחדל לווריאציות של החלונית אם הווריאציות לא מגדירות שכבה באופן מפורש. |
controller |
אופציונלי, כפוף לשינויים |
ההגדרה מפנה למשאב (בדרך כלל מזהה XML) שמגדיר בקר ספציפי לחלונית, שמאפשר לשמור ערכי הגדרה ולהעביר אותם לבקרי חלונית בהתאמה אישית. בבקרים האלה צריך להטמיע את הממשק |
רכיבי צאצא ב-XML
התג <TaskPanel>
יכול לכלול את המאפיינים האלה כדי להגדיר מאפיינים והתנהגויות ברירת מחדל,
מאפיין | תיאור |
---|---|
<Variant> |
תג מוטמע מתאר הגדרה חזותית ספציפית של החלונית בכל רגע נתון. לוח יכול לכלול כמה וריאציות, שלכל אחת מהן יש מזהה ייחודי. כל וריאציה מגדירה מאפיינים כמו גבולות, חשיפה, שכבה, אלפא, רדיוס פינות ושוליים עבור ההגדרה הספציפית הזו. וריאציות יכולות גם לרשת מאפיינים מוריאציית הורה. |
<KeyFrameVariant> |
התוסף <Variant> מאפשר לבצע אינטרפולציה של מאפיינים חזותיים בין וריאציות שונות על סמך ערך שבר רציף (0 עד 1), והוא משמש למעברים חלקים ודינמיים, למשל במהלך פעולת גרירה, כשמצב החלונית תלוי בקלט רציף כמו כמות הגרירה. |
<Transitions> |
תג nested מכיל אוסף של כל תג |
קוד לדוגמה
<Panel 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"
onEvent="open_event"/>
<Event id="_System_TaskOpenEvent" panelId="@id/panelId" />
</Transition>
</Transitions>
</Panel>