Określa lokalizację i atrybuty widoków w trakcie sekwencji ruchu. Domyślnie ruch przechodzi od stanu początkowego do końcowego.
Korzystając z <KeyFrameSet>
, możesz tworzyć bardziej złożone ruchy.
<KeyFrameSet>
zawiera węzły <KeyPosition>
lub <KeyAttribute>
. Te węzły określają pozycję lub atrybuty widoku docelowego w konkretnym punkcie ruchu.
MotionLayout
płynnie animuje widok z punktu początkowego do każdego punktu pośredniego, a następnie do ostatecznego miejsca docelowego.
Załóżmy, że początkowy stan sekwencji ruchu ma nieprzezroczystą kulę w lewym dolnym rogu widoku, a w końcowym stanie w prawym górnym rogu pojawia się przezroczysta kula. Domyślnie urządzenie MotionLayout
płynnie przesuwa piłkę po ukośnej linii, aż stanie się przezroczysta, aż zniknie po dotarciu do miejsca docelowego. Używając <KeyFrameSet>
, możesz zmienić to działanie.
Możesz na przykład przesunąć piłkę w pionie do lewego górnego rogu i pozostawić ją całkowicie nieprzezroczystą, a potem przesunąć ją poziomo do prawego górnego rogu i znikać. Aby to zrobić, utwórz <KeyFrameSet>
i dodaj w nim elementy <KeyPosition>
oraz <KeyAttribute>
. <KeyPosition>
określa pośrednie położenie piłki, a <KeyAttribute>
określa, że piłka pozostaje nieprzezroczysta w połowie ruchu.
Składnia
<KeyFrameSet> [ <KeyPosition/>... ] [ <KeyAttribute/>...] </KeyFrameSet>
Zawarte w
Zawiera
<KeyPosition>
- Określa pozycję widoku w określonym momencie sekwencji ruchu.
<KeyAttribute>
- Określa atrybuty widoku w danym momencie sekwencji ruchu.