用法举例:

1. ValueAnimator animator = ValueAnimator.ofInt(0,100);//定义animator

2. animator.addUpdateListener//添加更新监听事件

3. animator.setDuration//设置属性动画时长

4. animator.start//开启属性动画

报错说明api版本太低,要导入nineold jar包

也许是开发者他女儿9岁了的时候开发出来的兼容包,哈哈

nineoldandroids-2.4.0.jar

java代码:

   private boolean isOpen = false;// 标记安全描述开关状态,默认关

     // 打开或者关闭安全描述信息(如果是打开状态就关闭,如果是关闭状态就打开)
// 导入jar包: nineoldandroids-2.4.0.jar
protected void toggle() {
ValueAnimator animator = null;
if (isOpen) {
// 关闭
isOpen = false;
// 属性动画
animator = ValueAnimator.ofInt(mDesHeight, 0);// 从某个值变化到某个值
} else {
// 开启
isOpen = true;
// 属性动画
animator = ValueAnimator.ofInt(0, mDesHeight);
} // 动画更新的监听
animator.addUpdateListener(new AnimatorUpdateListener() { // 启动动画之后, 会不断回调此方法来获取最新的值
@Override
public void onAnimationUpdate(ValueAnimator animator) {
// 获取最新的高度值
Integer height = (Integer) animator.getAnimatedValue(); System.out.println("最新高度:" + height); // 重新修改布局高度
mParams.height = height;
llDesRoot.setLayoutParams(mParams);
}
}); animator.addListener(new AnimatorListener() { @Override
public void onAnimationStart(Animator arg0) { } @Override
public void onAnimationRepeat(Animator arg0) { } @Override
public void onAnimationEnd(Animator arg0) {
// 动画结束的事件
// 更新小箭头的方向
if (isOpen) {
ivArrow.setImageResource(R.drawable.arrow_up);
} else {
ivArrow.setImageResource(R.drawable.arrow_down);
}
} @Override
public void onAnimationCancel(Animator arg0) { }
}); animator.setDuration(200);// 动画时间
animator.start();// 启动动画
}

运行效果图:

附加:安卓动画总结http://www.cnblogs.com/johnsonwei/p/5705659.html

属性动画ValueAnimator用法的更多相关文章

  1. Android属性动画-基本用法

    在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(twe ...

  2. Android属性动画-ValueAnimator和ObjectAnimator的高级用法

    ValueAnimator的高级用法 在上篇文章中介绍补间动画缺点的时候有提到过,补间动画是只能对View对象进行动画操作的.而属性动画就不再受这个限制,它可以对任意对象进行动画操作.那么大家应该还记 ...

  3. Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)

    1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...

  4. 属性动画 ValueAnimator 运行原理全解析

    最近下班时间都用来健身还有看书了,博客被晾了一段时间了,原谅我~~~~ 提问环节 好,废话不多说,之前我们已经分析过 View 动画 Animation 运行原理解析,那么这次就来学习下属性动画的运行 ...

  5. Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)

    1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...

  6. android 开发 View _3_ View的属性动画ValueAnimator

    ValueAnimator ValueAnimator继承自抽象类Animator.要让属性动画渐变式地更改对象中某个属性的值,可分两步操作:第一步,动画需要计算出某一时刻属性值应该是多少:第二步,需 ...

  7. Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色

    以下是主要代码,难点和疑问点都写在注释中: /** * 开始背景动画(此处为属性动画) */ private void startBackgroundAnimator(){ /* *参数解释: *ta ...

  8. Android基础夯实--重温动画(四)之属性动画 ValueAnimator详解

    宝剑锋从磨砺出,梅花香自苦寒来:千淘万漉虽辛苦,吹尽狂沙始到金: 长风破浪会有时,直挂云帆济沧海 一.摘要 Animator类作为属性动画的基类,它是一个抽象类,它提供了实现动画的基本架构,但是我们不 ...

  9. Android属性动画完全解析(上),初识属性动画的基本用法

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系 ...

随机推荐

  1. js常用API 数据类型 基本类型,基本包装类型,引用类型 Object String Array Boolean Number Date Math

    数据类型 变量.作用域及内存 基础类型(primitive value):Undefined.Null.Boolean.Number和String.这些类型在内存中分别占用固定大小的空间,他们的值保存 ...

  2. HTML中加载flash方法

    首先贴上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  3. java 常用的三大集合类

    一.Set集合.其主要实现类有HashSet.TreeSet.存放对象的引用,不允许有重复对象. 代码: public class SetTest { public static void main( ...

  4. 【第三篇】学习 android 事件总线androidEventbus之发布事件,子线程中接收

    发送和接收消息的方式类似其他的发送和接收消息的事件总线一样,不同的点或者应该注意的地方: 1,比如在子线程构造方法里面进行实现总线的注册操作: 2,要想子线程中接收消息的功能执行,必须启动线程. 3, ...

  5. AndroidManifest.xml file missing 解决方案

    如果在导入一个项目到ECLIPSE里时,不要把项目文件放到workspace里面,放到别处再导,否则可能会提示这个错误:AndroidManifest.xml file missing,顺便导入的方式 ...

  6. 《C++ Primer》之重载操作符与转换(下)

    转换与类类型 可用一个实参调用的非 explicit 构造函数定义一个隐式转换.当提供了实参类型的对象而需要一个类类型的对象时,编译器将使用该转换.这种构造函数定义了到类类型的转换.除了定义到类类型的 ...

  7. MC 跨周期 画线

    using System; using System.Drawing; using PowerLanguage.Function; using System.Collections; namespac ...

  8. Centos7下安装pip

    Linux 通过 pip 安装使用 Shadowsocks - CentOS 7 (06) Pip是安装Python包的工具,提供了安装.列举已安装包.升级以及卸载包的功能.Pip 是对easy_in ...

  9. permutation求全排列

    include <iostream> #include <string> using namespace std; void swap(char &c1, char & ...

  10. VituralBox 虚拟机网路设置 主机无线

    主机和虚拟机都关闭防火墙 主机和虚拟机可以互相ping通 主机和虚拟机都可以联网 如果出现  ‘device not managed by NetworkManager’ 错误 network服务器 ...