首页 > 解决方案 > 是否可以使用 MotionLayout 将不同的持续时间应用于 ConstraintSet 中的不同约束?

问题描述

我正在尝试为登录屏幕实现动画,其中两个EditText用户名和密码在屏幕外动画并以不同的持续时间返回原始位置。如下面的这个链接!。我可以对此部分进行动画处理。但我无法复制延迟动画类型的动作。我尝试使用过渡缓动,但效果不相似。

<Transition
    motion:constraintSetStart="@id/scene_login_start"
    motion:constraintSetEnd="@id/scene_login_end"
    motion:duration="350">

    <KeyFrameSet>
        <KeyPosition
            motion:target="@id/editText_username"
            motion:keyPositionType="pathRelative"
            motion:framePosition="1"
            motion:transitionEasing="accelerate" />

        <KeyPosition
                motion:target="@id/editText_password"
                motion:keyPositionType="pathRelative"
                motion:framePosition="1"
                motion:transitionEasing="linear" />

        <KeyPosition
            motion:target="@id/editText_password"
            motion:keyPositionType="pathRelative"
            motion:framePosition="50"
            motion:transitionEasing="decelerate" />

        <KeyPosition
                motion:target="@id/editText_password"
                motion:keyPositionType="pathRelative"
                motion:framePosition="70"
                motion:transitionEasing="decelerate" />

    </KeyFrameSet>
</Transition>

是否可以使用 实现这种类型的动画Motionlayout

标签: androidandroid-motionlayout

解决方案


您可以使用 KeyPosition 来控制它。在下面的示例中,textview 的动画将在第 40 帧之前播放,然后将在第 50 帧播放动画的第 50 帧,并将在第 75 帧结束动画。如果您不指定最后一帧,则动画将在第 100 帧正常结束

    <KeyFrameSet>
        <KeyPosition
            motion:percentY="0"
            motion:percentX="0"

            motion:framePosition="40"
            motion:target="@id/textview" />
        <KeyPosition
            motion:percentY="0.5"
            motion:percentX="0.5"
            motion:framePosition="50"
            motion:target="@id/textview" />

        <KeyPosition
            motion:percentY="1"
            motion:percentX="1"
            motion:framePosition="75"
            motion:target="@id/textview" />
    </KeyFrameSet>
       <ConstraintSet>

       </ConstraintSet>
</MotionScene>

推荐阅读