Open yndongyong opened 6 years ago
I also tried the same example as above and saw the issue with attributeName 'alpha' and 'visibility'. The translation in between states works fine, but when the transition to end state is complete, the alpha is reset.
<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
motion:constraintSetEnd="@id/start"
motion:constraintSetStart="@id/end"
motion:duration="1000">
<OnSwipe
motion:dragDirection="dragDown"
motion:touchAnchorId="@+id/view"
motion:touchAnchorSide="bottom" />
</Transition>
<ConstraintSet android:id="@+id/start">
<Constraint
android:id="@+id/view"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toBottomOf="@+id/toolbar">
<CustomAttribute
motion:attributeName="alpha"
motion:customFloatValue="1.0" />
</Constraint>
</ConstraintSet>
<ConstraintSet android:id="@+id/end">
<Constraint
android:id="@+id/view"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent">
<CustomAttribute
motion:attributeName="alpha"
motion:customFloatValue="0.0" />
</Constraint>
</ConstraintSet>
The reason it didn't work for me was that I was on 2.0.0-alpha3
. And starting from 2.0.0-alpha3
there is a new XML format called PropertySet
for alpha properties. Refer documentation
Replace the CustomAttribute
tag with a PropertySet
tag
<PropertySet motion:alpha="0.2" />
This is a bug that will be fixed on alpha 4.
Hi,There: CustomAttribute has an error ,attributeName="Alpha",when the Animation finished,the button return to the "start" state. I don't use this way:android:alpha="0.2" my code looks like: <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:motion="http://schemas.android.com/apk/res-auto">
Thanks.