属性动画ValueAnimator用法
用法举例:
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用法的更多相关文章
- Android属性动画-基本用法
在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(twe ...
- Android属性动画-ValueAnimator和ObjectAnimator的高级用法
ValueAnimator的高级用法 在上篇文章中介绍补间动画缺点的时候有提到过,补间动画是只能对View对象进行动画操作的.而属性动画就不再受这个限制,它可以对任意对象进行动画操作.那么大家应该还记 ...
- Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)
1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...
- 属性动画 ValueAnimator 运行原理全解析
最近下班时间都用来健身还有看书了,博客被晾了一段时间了,原谅我~~~~ 提问环节 好,废话不多说,之前我们已经分析过 View 动画 Animation 运行原理解析,那么这次就来学习下属性动画的运行 ...
- Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)
1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...
- android 开发 View _3_ View的属性动画ValueAnimator
ValueAnimator ValueAnimator继承自抽象类Animator.要让属性动画渐变式地更改对象中某个属性的值,可分两步操作:第一步,动画需要计算出某一时刻属性值应该是多少:第二步,需 ...
- Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
以下是主要代码,难点和疑问点都写在注释中: /** * 开始背景动画(此处为属性动画) */ private void startBackgroundAnimator(){ /* *参数解释: *ta ...
- Android基础夯实--重温动画(四)之属性动画 ValueAnimator详解
宝剑锋从磨砺出,梅花香自苦寒来:千淘万漉虽辛苦,吹尽狂沙始到金: 长风破浪会有时,直挂云帆济沧海 一.摘要 Animator类作为属性动画的基类,它是一个抽象类,它提供了实现动画的基本架构,但是我们不 ...
- Android属性动画完全解析(上),初识属性动画的基本用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系 ...
随机推荐
- 第19讲 不带参数功能FC的编程与应用
- 2016-11-10linux
---恢复内容开始--- 新建用户natasha,uid为88,gid为6,备注信息为"master" 修改natasha用户的家目录为/Natasha 查看用户信息配 ...
- GRPC: set up..
get the grpc source file.. git clone https://github.com/grpc/grpc git submodule update --init --recu ...
- java 常用的三大集合类
一.Set集合.其主要实现类有HashSet.TreeSet.存放对象的引用,不允许有重复对象. 代码: public class SetTest { public static void main( ...
- bug--Unable to add window –token is not valid; is your activity running?
错误原因是Dialog在show的时候必须要有一个activity作为窗口载体,上面的日志的意思是承载Dialog的activity已经被销毁了,不存在了 解决方法: 1.粗暴一点直接try catc ...
- Servie之前台Service
public class MyService extends Service { public static final String TAG = "MyService"; pri ...
- IntelliJ IDEA 部署远程服务
今天产品遇到个本地无法重现,服务器上却出现的 Bug. 想起来 IDEA 有远程调试的功能就拿来用用. 教程如下: 1. 创建 tomcat service 2. 填入服务器的 IP 和端口 3. 确 ...
- MFC中组合框CComboBox的使用
假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下: void Cuse_demo_dllDlg::OnCbnSelchangeCombo1(){ ...
- JS进阶书籍
http://blog.csdn.net/bingqingsuimeng/article/details/40535291 本来想尝试每天回答或看已解决的3个问题来学习总结今天的知识点,看了下博文里面 ...
- servlet第2讲(下集)----创建servlet实例(继承HttpServlet)