Android--xml实现组合动画

1、创建xml文件

提示:先创建Animator的xml文件

在这里插入图片描述


2、代码示例

提示:这里先给出xml代码后面2.1中有animator标签的相应解释

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!--  插值器的使用:android:interpolator="@android:anim/bounce_interpolator"  -->
    <!--  X轴方向平移  -->
    <objectAnimator
        android:interpolator="@android:anim/bounce_interpolator"
        android:duration="2000"
        android:propertyName="translationX"
        android:valueFrom="-500"
        android:valueTo="0"
        android:valueType="floatType" />

    <!--  Y轴方向平移  -->
    <objectAnimator
        android:duration="2000"
        android:propertyName="translationY"
        android:valueFrom="-500"
        android:valueTo="0"
        android:valueType="floatType" />

    <!--  X轴横向拉伸  -->
    <objectAnimator
        android:duration="2000"
        android:propertyName="scaleX"
        android:valueFrom="1"
        android:valueTo="2"
        android:valueType="floatType" />

    <!--  Y轴纵向拉伸  -->
    <objectAnimator
        android:duration="2000"
        android:propertyName="scaleY"
        android:valueFrom="1"
        android:valueTo="2"
        android:valueType="floatType" />

    <!--  透明度  -->
    <objectAnimator
        android:duration="1500"
        android:propertyName="alpha"
        android:valueFrom="1"
        android:valueTo="0"
        android:valueType="floatType" />

    <!--  旋转  -->
    <objectAnimator
        android:duration="3000"
        android:propertyName="rotation"
        android:valueFrom="0"
        android:valueTo="360"
        android:valueType="floatType" />
</set>

2.1、animator标签的字段

animator标签说明
android:duration动画播放时长
android:propertyName动画属性
android:valueFrom动画初始值
android:valueTo动画结束值
android:startOffset动画激活延时
android:repeatCount动画重复次数
android:repeatMode动画重复模式,repeat和reverse分别对应正序和倒序
android:valueType取值参数类型
android:interpolator设置插值器

2.2、android:propertyName属性

属性说明
translationXX轴方向平移
translationYY轴方向平移
scaleXX轴横向拉伸
scaleYY轴纵向拉伸
alpha透明度
rotation旋转

3、ordering设置

这里主要是展示 set 中的 ordering 动画执行顺序
ordering 标签里的值包括有:togethersequentially
togethersequentially 表示的是 同时执行顺序执行

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:ordering="together">

    <set android:ordering="sequentially">
        <objectAnimator
            android:duration="2000"
            android:interpolator="@android:anim/anticipate_overshoot_interpolator"
            android:propertyName="translationY"
            android:valueFrom="0"
            android:valueTo="1200"
            android:valueType="floatType" />

    </set>
</set>

4、如何使用写好的xml?

最后XML文件是编写好了,那么我们如何在代码中把文件加载进来并将动画启动呢?只需调用如下代码即可:

Animator animator = AnimatorInflater.loadAnimator(context, R.animator.anim_file);
animator.setTarget(view);
animator.start();

在这里插入图片描述


5、插值器 Interpolator的使用

Interpolator 叫插值器,也叫做加速器,用来指定动画如何变化的量。

5.1、常见的插值器

系统常见的插值器有如下几种:

插值器说明
AccelerateDecelerateInterpolator其变化开始和结束速率较慢,中间加速
AccelerateInterpolator其变化开始速率较慢,后面加速
DecelerateInterpolator其变化开始速率较快,后面减速
LinearInterpolator其变化速率恒定
AnticipateInterpolator沿着开始相反的方向先运行
OvershootInterpolator结束后顺着结束的运行规律让然运行一段时间
AnticipateOvershootInterpolatorAnticipateInterpolator 和 OvershootInterpolator 的结合
BounceInterpolator自由落体规律运动
CycleInterpolator其速率为正弦曲线
LinearOutSlowInInterpolator其变化先匀速再减速
FastOutSlowInInterpolator其变化是先加速,然后减速
FastOutLinearInInterpolator其变化先加速然后匀速,本质还是加速运动

5.2、插值器的使用

在xml中可以直接设置对应动画的插值器

在这里插入图片描述

还可以在代码中进行插值器的设置

在这里插入图片描述


结尾

后续还将会在此文中加入 自定义插值器 的使用

欢迎有兴趣的小伙伴探讨和关注

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值