一起Talk Android吧(第四百八十六回:值动画:ValueAnimator)

文章介绍了Android中ValueAnimator的使用,包括通过XML配置值动画的属性如valueFrom、valueTo、duration等,以及如何添加监听器更新界面中的控件值,展示了从10到1的倒计时动画示例。
摘要由CSDN通过智能技术生成

各位看官们大家好,上一回中咱们说的例子是"逐帧动画的代码实现方法",这一回中咱们说的例子是"值动画:ValueAnimator"。闲话休提,言归正转,让我们一起Talk Android吧!

概念介绍

我们在本章回中介绍另外一种动画:值动画。它表示让动画在指定的数值区间内运行,或者在指定对象范围内运行.我们使用ValueAnimator类表示值动画。

标签属性

明白值动画的概念后,我们来介绍它的使用方法,和视图动画类似,值动画有xml配置和代码实现两种方法,本章回中先介绍如何使用xml配置来实现值动画。

接下来先介绍xml中的标签和属性,以及它们的使用方法。 值动画使用<animator>标签,该标签包含以下常用的属性;

android:valueFrom     //表示值变化范围的起点
android:valueTo       //表示值变化范围的终点
android:duration      //表示播放动画的时间单位是ms
android:valueType     //表示值的类型,其值为"intType","floattype"
android:repeatCount   //表示动画重复播放的次数
android:repeatMode    //表示动画重复播放的模式
android:interpolator  //表示动画播放时使用的插值器

关于上面的属性,我们做一些补充说明:

  • 动画的起点值和终点值都会包含进来,类似数学中的闭区间[1,3],表示从1到3,而且包含1和3这两个边界值;
  • 值的内容与值的类型一致,比如在from属性中使用了3,那么在valueType属性中必须使用intType;
  • 其它的属性含义可以参考上面的注释,此外,这些属性的名称和视图动画中的名称完全相同,因此它们的含义和用法与视图动画中的完全一致,这里就不详细介绍了。

使用方法

  1. 在animator目录中创建动画的xml配置文件,项目中默认没有animator目录,需要我们创建此目录,它位于res目录下;
  2. 在代码中获取上一步中创建的值动画对象,并且获取xml文件中的动画文件;
  3. 给值动画对象添加值变化的监听器,并且在监听器中获取动画中的数值,可以使用这些数据来操作控件;
  4. 使用值动画对象的start()方法开始播放动画;

示例代码

明白值动画的使用方法后,接下来通过文字结合代码的方式来介绍使用值动画。首先在xml中配置值动画的属性,详细的代码如下所示:

<animator xmlns:android="http://schemas.android.com/apk/res/android"
    android:valueFrom="10"
    android:valueTo="1"
    android:duration="10000"
    android:valueType="intType"
    android:repeatCount="0"
    android:repeatMode="restart"
    android:interpolator="@android:anim/linear_interpolator">
</animator>

接下是程序中的代码,详细如下:

//获取xml中的动画
ValueAnimator animator = (ValueAnimator) AnimatorInflater.loadAnimator(this,R.animator.exanimator);
//添加监听器并且在监听器操作控件
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animator) {
        int value = (int) animator.getAnimatedValue();
        mTVValueAnimator.setText(String.valueOf(value));
    }
});
//播放动画
animator.start();

上面的代码中先是创建了一个值动画,并且设置它的值变化范围为10到1,然后在该动画对象的监听器中获取这些值,同时把这些值设置到TextView控件上,这样我们就
能看到这些值了。

代码中省略了TextView的布局和代码,拿来直接使用,大家可以自行补上。编译并且运行该程序可以得到一个显示倒计时的动画,该动画从数字10到1逐渐变化,我在这里就不演示具体的效果了,希望大家自己动手实践。

看官们,关于"值动画:ValueAnator"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值