用法举例:

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. Crowd安装和破解

    参考资料来自:http://www.it165.net/os/html/201311/6653.html 这个破解比较简单

  2. k近邻算法

    k 近邻算法是一种基本分类与回归方法.我现在只是想讨论分类问题中的k近邻法.k近邻算法的输入为实例的特征向量,对应于特征空间的点,输出的为实例的类别.k邻近法假设给定一个训练数据集,其中实例类别已定. ...

  3. nmon 安装

    安装: mkdir /usr/local/nmon cd /usr/local/nmon wget http://sourceforge.net/projects/nmon/files/nmon_li ...

  4. Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]

    ORACLE 字符串操作 1 字符串连接   SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...

  5. JavaScript高级程序设计:第十一章

    一.选择符API SelectorsAPILevel 1的核心是两个方法:querySelector()和querySelectorAll(). 1. querySelector()方法 queryS ...

  6. hdu_5293_Tree chain problem(DFS序+树形DP+LCA)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5293 被这题打蹦了,看着题解写的,很是爆炸,确实想不到,我用的DFS序+LCA+树形DP,当然也可以写 ...

  7. 第3章 Java语言基础----成员变量与局部变量

    在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...

  8. oracle即时客户端安装方法

    http://blog.csdn.net/magicboylinw/article/details/7025885 Oracle Instant Client(即时客户端) 安装与配置 oracleO ...

  9. 使用anyremote进行远程鼠标控制

    源代码安装 http://anyremote.sourceforge.net/pre.html 安装  -xtest apt-get install libxtst-dev 安装 glib sudo ...

  10. javaweb作業中的幾個要點

    1.DDoS攻击原理DDoS是指分布式拒绝服务(Distributed Denial of Service):试图通过恶意请求使系统或者网络超载进而无法继续提供服务.对于一个网站来说,这意味着,该网站 ...