Kullanıcı, düzeni kaydırdığında gerçekleştirilecek işlemi belirtir. İsteğe bağlı parametrelerle belirlediğiniz sınırlara tabi olarak, hareket dizisinin hızı ve hedeflenen görünümün hareketi, kaydırmanın hızından ve yönünden etkilenir.
Tek bir <Transition>
için birden fazla <OnSwipe>
düğümü olabilir. Her <OnSwipe>
, kullanıcı bu kaydırma işlemini gerçekleştirdiğinde gerçekleştirilecek farklı bir kaydırma yönü ve farklı bir işlem belirtir.
Sözdizimi
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Özellikler
motion:touchAnchorId
- Hızlıca kaydırarak hareket eden görünüm.
motion:touchAnchorSide
- Kaydırmanın sabitlendiği hedef görünümün tarafı.
MotionLayout
, çapa ile kullanıcının parmağı arasında sabit bir mesafeyi korur. Kabul edilebilir değerler"left"
,"right"
,"top"
ve"bottom"
'dir. motion:dragDirection
- Kullanıcının kaydırma hareketinin yönü. Bu özellik ayarlanırsa bu
<OnSwipe>
, yalnızca belirtilen yöndeki kaydırma işlemleri için geçerlidir. Kabul edilebilir değerler"dragLeft"
,"dragRight"
,"dragUp"
ve"dragDown"
'dir. motion:dragScale
Kaydırmanın uzunluğuna göre görünümün hareket edeceği mesafeyi kontrol eder. Varsayılan değer 1'dir. Bu değer, görünümün kaydırma işlemine kadar hareket ettiğini gösterir.
dragScale
1'den küçükse görünüm, kaydırma mesafesinden daha az hareket eder. Örneğin,dragScale
değeri 0, 5 ise kaydırma 4 cm hareket ederse hedef görünümün 2 cm hareket ettiği anlamına gelir.dragScale
değeri 1'den büyükse görünüm, kaydırma mesafesinden daha uzağa gider. Örneğin,dragScale
değerinin 1,5 olması, kaydırma 4 cm hareket ederse hedef görünümün 6 cm hareket ettiği anlamına gelir.motion:maxVelocity
Hedef görünümün maksimum hızı.
motion:maxAcceleration
Hedef görünümün maksimum hızlandırması.