Bir görünümün, hareket dizisi sırasında belirli bir anda konumunu belirtir. Bu özellik, hareketin varsayılan yolunu ayarlamak için kullanılır.
Örneğin, bir nesne sol üst köşede başlayıp sağ alt köşede sona ererse varsayılan hareket sırası nesneyi ekranda çapraz olarak aşağı taşır. Bir veya daha fazla <KeyPosition>
öğesi ekleyerek yolun biçimini deforme edebilirsiniz.
Sözdizimi
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
Özellikler
motion:motionTarget
- Hareketi bu
<KeyPosition>
tarafından kontrol edilen kişileri görüntüleyin. motion:framePosition
- Hareket dizisinde görünümün bu
<KeyPosition>
ile belirtilen noktaya ne zaman ulaştığını belirten 1 ile 99 arasındaki tam sayı. Örneğin,framePosition
25 ise görünüm, hareketin dörtte biri boyunca belirtilen noktaya ulaşır. motion:percentX
,motion:percentY
- Görünümün erişeceği konumu belirtin.
keyPositionType
özelliği, bu değerlerin nasıl yorumlandığını belirtir. motion:keyPositionType
percentX
vepercentY
değerlerinin nasıl yorumlanacağını belirtir. Olası ayarlar şunlardır:parentRelative
percentX
vepercentY
üst görünüme göre belirtilir. X yatay eksendir. Sol taraf için 0 ile sağ taraf için 1 aralığındadır. Y dikey eksendir. 0 üst, 1 alt anlamına gelir.Örneğin, hedef görünümün üst görünümün sağ tarafının ortalarında bir noktaya ulaşmasını istiyorsanız
percentX
özelliğini 1 vepercentY
değerini 0, 5 olarak ayarlayın.deltaRelative
percentX
vepercentY
, görünümün tüm hareket dizisi boyunca hareket ettiği mesafeye göre belirlenir. X yatay eksen, Y ise dikey eksendir. Her iki durumda da, 0, görünümün söz konusu eksendeki başlangıç konumudur ve 1, nihai konumdur.Hedef görünümün 100 dp yukarı ve 100 dp sağa hareket ettiğini, ancak görüntünün ilk çeyreğinde 40 dp aşağıya doğru hareket etmesini, ardından yay geri gitmesini istediğinizi varsayalım.
framePosition
öğesini 25,keyPositionType
değerinideltaRelative
vepercentY
değerini -0, 4 olarak ayarlayın.pathRelative
X ekseni, hedef görünümünün yol boyunca hareket ettiği yöndür. 0 başlangıç konumu, 1 ise son konumu temsil eder. Y ekseni, X eksenine diktir. Yolun solunda pozitif değerler, sağda ise negatif değerler yer alır. Dolayısıyla, görünümün ilk konumu
(0,0)
ve son konum(1,0)
olur. Sıfır olmayan birpercentY
ayarlamak, görünümün bir yöne veya diğerine yaylanmasına neden olur.Görüntünün, hareket dizisinin yarısını toplam mesafenin% 10'unu kapsayacak şekilde almasını, ardından diğer %90'ı kapsayacak şekilde hızlanmasını istediğinizi varsayalım.
framePosition
değerini 50,keyPositionType
değerinipathRelative
vepercentX
değerini 0, 1 olarak ayarlayın.percentY
değeri 0 olarak kalır.