在滑动动画之后,我正在使用MotionLayout和<MotionScene />为bottomSheetView内容设置动画。
在开始和结束场景之间,我想view_player_status_margin使用从gone到的可见性来显示一个视图visible(不使用,alpha因为另一个视图通过约束链接到我想要显示的视图)。
可以使用标准<Constraint />in <ConstraintSet />,但是当我将可见性链接到 a<KeyAttribute />以使视图仅出现在动画的最后一帧时,它不会遵循特定于帧的规则位置。
我的使用<KeyAttribute />似乎是正确的,因为它适用于其他两个视图的 alpha。
使用KeyAttributewithvisibility属性是否有特定限制?
<?xml version="1.0" encoding="utf-8"?>
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<Transition
app:constraintSetEnd="@+id/player_scene_set_expanded"
app:constraintSetStart="@+id/player_scene_set_collapsed"
app:motionInterpolator="easeIn">
<KeyFrameSet>
<KeyAttribute
android:visibility="gone"
app:framePosition="80"
app:motionTarget="@id/view_player_status_margin" />
<KeyAttribute
android:alpha="0"
app:framePosition="20"
app:motionTarget="@id/view_player_collapsed" />
<KeyAttribute
android:alpha="1"
app:framePosition="20"
app:motionTarget="@id/view_player_expanded" />
</KeyFrameSet>
</Transition>
<ConstraintSet android:id="@+id/player_scene_set_collapsed">
<Constraint
android:id="@+id/view_player_collapsed"
android:layout_width="0dp"
android:layout_height="64dp"
android:alpha="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> …Run Code Online (Sandbox Code Playgroud)