Próbuję dowiedzieć się, jak utworzyć animację klapki między 2 fragmentami.Własna animacja klapki między fragmentami pakietu pomocy technicznej Android
Próbowałem szkolenia CardFlip jako przewodnika, ale nie wydaje się być w stanie go osiągnąć. Korzystam z pakietu pomocy Androida i ustawię animację pośrednią, ale nie uda się.
Jak zaimplementować przerzucanie animacji między fragmentami?
tutaj jest pierwszy 2 xml i utworzony z przewodnika, może można zobaczyć, czy robię coś nie tak. screen_flip_left_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Before rotating, immediately set the alpha to 0. -->
<alpha
android:valueFrom="1.0"
android:valueTo="0.0"
android:propertyName="alpha"
android:duration="0" />
<!-- Rotate. -->
<rotate
android:valueFrom="-180"
android:valueTo="0"
android:propertyName="rotationY"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:duration="@integer/card_flip_time_full"/>
<!-- Half-way through the rotation (see startOffset), set the alpha to 1. -->
<alpha
android:valueFrom="0.0"
android:valueTo="1.0"
android:propertyName="alpha"
android:startOffset="@integer/card_flip_time_half"
android:duration="1" />
</set>
screen_flip_left_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Rotate. -->
<rotate
android:valueFrom="0"
android:valueTo="180"
android:propertyName="rotationY"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:duration="@integer/card_flip_time_full" />
<!-- Half-way through the rotation (see startOffset), set the alpha to 0. -->
<alpha
android:valueFrom="1.0"
android:valueTo="0.0"
android:propertyName="alpha"
android:startOffset="@integer/card_flip_time_half"
android:duration="1" />
</set>
Co nie działa? Czy konkretny kod ulega awarii? Więcej szczegółów. – QVDev
Przede wszystkim @QVDev, nie mogę użyć objectanimator z przewodnika, ponieważ nie jest on dostępny w pakiecie wsparcia dla Androida, więc kod zawiesza się, dopóki nie przełączyłem się na animację pośrednią. a potem nie otrzymuję żadnego efektu klapki. nie jestem pewien, czy to dlatego, że używam tam innego elementu interpolatora; Używam tego androida: interpolator = "@ android: anim/accelerate_decelerate_interpolator", ponieważ muszę obsługiwać do 8 poziomu api, a ten w przewodniku jest dla api 11 wzwyż. – irobotxxx
Więc kiedy zmienisz go na animację, działa poprawnie? Prawdopodobnie jest tak z powodu poziomu API. Może użyć animacji dla starszych api i flipa dla nowszych api? Lub utwórz niestandardową animację klapki – QVDev