ITPub博客

首页 > 应用开发 > Java > 短视频系统,Android 使用MotionLayout实现动画效果

短视频系统,Android 使用MotionLayout实现动画效果

原创 Java 作者:zhibo系统开发 时间:2021-12-07 14:16:11 0 删除 编辑

短视频系统,Android 使用MotionLayout实现动画效果实现的相关代码

MotionLayout最简单的使用

首先,我们新建动画开始时候的布局activity_motion_layout3_start.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="
    xmlns:app="
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <View
        android:id="@+id/button"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:background="@color/colorAccent"
        android:text="Button"
        android:layout_marginLeft="16dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

新建一个动画结束时候的布局activity_motion_layout3_end.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="
    xmlns:app="
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <View
        android:id="@+id/button"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_marginRight="16dp"
        android:background="@color/colorAccent"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

然后,在Activity的xml中,使用MotionLayout,注意,这几个布局中的id需要相同

<androidx.constraintlayout.motion.widget.MotionLayout
    xmlns:android="
    xmlns:tools="
    xmlns:app="
    android:id="@+id/motionLayout"
    app:layoutDescription="@xml/activity_main_scene3"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <View
        android:id="@+id/button"
        android:background="@color/colorAccent"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:text="Button"
        tools:layout_editor_absoluteX="147dp"
        tools:layout_editor_absoluteY="230dp" />
</androidx.constraintlayout.motion.widget.MotionLayout>

这里的重点app:layoutDescription,我们设置了activity_main_scene3.xml,这里文件就是具体设置动画的地方了

<MotionScene xmlns:android="
    xmlns:app=">
    <Transition
        app:constraintSetEnd="@layout/activity_motion_layout3_end"
        app:constraintSetStart="@layout/activity_motion_layout3_start" >
        <OnSwipe
            app:dragDirection="dragRight"
            app:touchAnchorId="@id/button"
            app:touchAnchorSide="right" />
    </Transition>
</MotionScene>

以上就是 短视频系统,Android 使用MotionLayout实现动画效果实现的相关代码,更多内容欢迎关注之后的文章


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69978258/viewspace-2846229/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-02

  • 博文量
    677
  • 访问量
    255186