Paneller arasındaki değişiklikleri tanımlamak için geçiş kullanın. Bir panelin iki varyantı arasında nasıl ve ne zaman değişiklik yapılacağını açıklamak için geçiş tanımlayabilirsiniz. Her panel için bir geçiş listesi tanımlayabilirsiniz.
Tek bir <TaskPanel>
veya <DecorPanel>
yapılandırmasında bir veya daha fazla <Transition>
tanımının kapsayıcısı olarak <Transitions>
XML etiketini kullanın.
Bu etiketi kullanarak, bir panelin görsel durumunu ne zaman ve nasıl değiştireceğini belirleyen bir dizi animasyon kuralı tanımlayabilirsiniz.
XML özellikleri
<Transitions>
etiketi, şu alt <Transition>
öğeleri için varsayılan değerler tanımlayabilir:
Özellik | Durum | Açıklama |
---|---|---|
<defaultDuration> |
İsteğe bağlı | Tüm alt öğelere uygulanacak varsayılan süreyi milisaniye cinsinden belirtir. Süre özelliğini açıkça ayarlamayan Bu özellik belirtilmediğinde sistemin |
defaultInterpolator |
İsteğe bağlı | Bir Android Interpolator XML kaynak kimliğine referans verir. Örneğin,
Varsayılan interpolasyon aracı belirtilmezse sistem genellikle varsayılan olarak |
XML alt öğeleri
<Transitions>
öğesinin alt öğesi olan <Transition>
, PanelState
varyantları arasında belirli bir animasyon yolu tanımlamak için kullanılan temel öğedir. Tek bir <Transitions>
bloğunda birden fazla <Transition>
öğesi iç içe yerleştirilebilir.
Örnek kod
Bu örnekte fromVariant
isteğe bağlıdır. Tanımlanmadığında mevcut varyant kullanılır. fromVariant
tanımlanmışsa geçiş yalnızca tüm parametreler eşleştiğinde kullanılır. Parametreler Etkinlik ve fromVariant
içinde belirtilir.
<Transitions defaultDuration="400"
defaultInterpolator="@android:anim/linear_interpolator">
<Transition fromVariant="closed_app"
toVariant="opened_app">
<Event id="app_opened" panel="application_panel" />
</Transition>
</Transitions>
Geçiş
Geçiş, bir panelin iki varyantı arasındaki görsel durum değişikliğinin nasıl animasyonla gösterileceğini açıklar. Geçiş, bir varyanttan diğerine giden yolu gösterir. Bunu yapmak için geçiş, uygulanacak animasyon ve animasyonu tetiklemek için gereken etkinlik gibi ayrıntıları belirtir.
Panellerde geçişler, sınırlar, görünürlük ve alfa gibi özellikler için animasyonlar tanımlayabilir. Özel bir animatör belirtilmezse varsayılan animatör kullanılır.
XML özellikleri
<Transition>
etiketi, animasyonun özelliklerini ve hangi koşullarda gerçekleşeceğini tanımlamak için çeşitli özellikler kullanır.
XML alt öğeleri
<Event>
, geçişi tetikleyebilecek etkinliğin özelliklerini tanımlar.
Özellik | Durum | Açıklama |
---|---|---|
<id> |
Zorunlu | Tetikleyiciyi etkinleştirecek etkinliğin benzersiz tanımlayıcısı. |
<panelId> |
İsteğe bağlı | Etkinlikle ilişkili panelin benzersiz tanımlayıcısı. |
componentName |
İsteğe bağlı | Bu etkinlikle ilişkili bileşen adı. |
packageName |
İsteğe bağlı | Etkinlikle ilişkili paket adı. |
Örnek kod
<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>