Panel, kapladığı alanın özelliklerini tanımlar ve uygulama kapsayıcısı olarak işlev görür. Panelleri tanımlamak için XML yapılandırmalarını kullanırsınız. Paneller, kullanıcı arayüzlerini özelleştirmek için esnek ve kodsuz bir yaklaşım sunar. Sistem, örnekleri ve durumları yönetmek için tanımlanmış panelleri izler.
Panel listesi
Sistem Arayüzü, panellerinin tanımlarını window_states adlı bir dizi kaynağından yükler. Bu kaynak dizisi, her bir panel yapılandırmasının tanımlandığı XML dosyalarını gösterir. Bu merkezi yaklaşım, Scalable UI tarafından yönetilen panellerin amaçlandığı şekilde yüklendiği ve sistem tarafından kullanıma hazır olduğu anlamına gelir.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="window_states">
<item>@xml/app_panel</item>
<item>@xml/back_panel</item>
...
</array>
</resources>
Panel tanımı
Ölçeklenebilir kullanıcı arayüzü çerçevesindeki her panel, <TaskPanel> veya <DecorPanel> adlı bir XML etiketiyle tanımlanır. <TaskPanel>, uygulama kapsayıcısının özelliklerini, <DecorPanel> ise görünüm kapsayıcısının özelliklerini açıklar.
Sistem Arayüzü, bu panel tanımlarını yükler ve başka bir yapılandırma yüklenene kadar panelleri izler. Örneğin, döndürme nedeniyle yapılandırma değişikliği veya açık bir sistem isteğiyle. <TaskPanel> ve <DecorPanel>, yapılandırılabilir kullanıcı arayüzü bileşenleri aracılığıyla özelleştirilmiş bir deneyim oluşturmak için temel bileşenler olarak kullanılır.
XML özellikleri
<TaskPanel> etiketi, durumları ve geçişleri tanımlamak için kullanabileceğiniz bu özellikleri içerebilir.
| Özellik | Durum | Açıklama |
|---|---|---|
id |
Zorunlu | Panel için benzersiz bir tanımlayıcı belirtir. Bu özellik, PanelPool kaynağından paneli almak ve sistemdeki durumunu yönetmek için kullanılır. |
role |
Zorunlu | Sistemdeki panelin amacını veya işlevini tanımlar. Değer, bir dize kaynağına, bileşen adlarının dize dizisine veya bir düzen kimliğine atıfta bulunabilir. Örneğin, panelde her zaman gösterilmesi gereken kalıcı etkinlikleri veya şişirilecek bir düzeni tanımlayabilir. |
defaultVariant |
İsteğe bağlı | Panelin yüklendiğinde başlangıçta kullanması gereken varyantın kimliğini belirtir. Belirtilmezse sistem, varsayılan olarak tanımlanan ilk varyantı kullanabilir. |
displayId |
İsteğe bağlı | Panelin görünmesi amaçlanan ekranın kimliğini belirtir. |
defaultLayer |
İsteğe bağlı | Varyantlar katmanı açıkça tanımlamıyorsa panelin varyantları için varsayılan bir Z sırası belirleyebilir. |
controller |
İsteğe bağlıdır ve değişebilir. |
Yapılandırma değerlerinin özel panel denetleyicilerinde depolanmasına ve aktarılmasına olanak tanıyan, panele özel bir denetleyiciyi tanımlayan bir kaynağa (genellikle bir XML kimliği) referans verir. Bu denetleyiciler |
XML alt öğeleri
<TaskPanel> ve <DecorPanel> etiketleri, özellikleri ve varsayılan davranışları tanımlamak için bu alt öğeleri içerebilir.
| Özellik | Açıklama |
|---|---|
<Variant> |
İç içe yerleştirilmiş etiket, panelin belirli bir zamandaki görsel yapılandırmasını açıklar. Bir panelin birden fazla varyantı olabilir ve her varyant benzersiz bir kimlikle tanımlanır. Her varyant, söz konusu yapılandırma için sınırlar, görünürlük, katman, alfa, köşe yarıçapı ve iç kısımlar gibi özellikleri tanımlar. Varyantlar, üst varyantlardan da özellik devralabilir. |
<KeyFrameVariant> |
<Variant> uzantısı, görsel özelliklerin sürekli bir kesir değerine (0-1) dayalı olarak farklı varyantlar arasında enterpolasyonunu sağlar ve sürükleme işlemi sırasında olduğu gibi, panelin durumunun sürükleme miktarı gibi sürekli bir girişe bağlı olduğu durumlarda yumuşak ve dinamik geçişler için kullanılır. |
<Transitions> |
İç içe yerleştirilmiş etiket, kullanıcı arayüzünün farklı varyantlar arasında nasıl animasyon yapması gerektiğini açıklayan bir Her |
<TaskPanel> etiketi, görevlere özgü davranışları tanımlamak için bu özel alt öğeleri de içerebilir.
| Özellik | Açıklama |
|---|---|
<Restart> |
Bir TaskPanel boşaldığında uygulanacak yeniden başlatma politikasını açıklayan iç içe yerleştirilmiş etiket. Bu etiket, policy özelliklerini destekler. Bu özellikler DEFAULT veya LAST olarak ayarlanabilir. Ayrıca, zaman aşımına uğramadan önce yeniden başlatma işleminin kaç kez deneneceğini belirten maxRetry özelliğini de destekler. |
<TaskBehavior> |
Bu panelde görev başlatma davranışını açıklayan iç içe yerleştirilmiş etiket. Bu etiket, bu TaskPanel'den yeni görev başlatmalarının davranışını yapılandıran newTaskLaunchPolicy özelliğini destekler. Bu politika için geçerli yapılandırma değerleri DEFAULT, REMAIN_IN_SOURCE veya REPARENT_TO_SOURCE'dir. |
Örnek kod
<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"
onEvent="open_event"/>
<Event id="_System_TaskOpenEvent" panelId="@id/panelId" />
</Transition>
</Transitions>
</TaskPanel>