Android属性动画之ValueAnimation
ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation,ValueAnimation谷歌提供了更好的过程控制,现在就以一个类计时的小动画为大家简单介绍一下:
应用的布局文件非常简单,只有一个Button按钮,就不再赘述了。下面重点介绍一下具体的实现:
public void init() {
button = (Button) findViewById(R.id.fourbutton);
button.setOnClickListener(new myButtonListener());
}
public class myButtonListener implements View.OnClickListener{
@Override
public void onClick(View view) {
final ValueAnimator animator = ValueAnimator.ofInt(1, 100);
animator.setDuration(5000);
animator.setInterpolator(new LinearInterpolator());//线性效果变化
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
Integer integer = (Integer) animator.getAnimatedValue();
button.setText("" + integer);
}
});
animator.start();
}
}
以上就是小应用的全部代码了,重点在于addUpdateListener()方法的实现,通过重写ValueAnimator.AnimatorUpdateListener()的onAnimationUpdate(ValueAnimator valueAnimator)方法来对动画的整个实现过程进行控制。
到这里关于Android的属性动画实现就介绍完毕了,现在进行一下总结。
1、常用属性:
translationX/translationY:水平|竖直偏移量
rotation/rotationX/rotationY:3D翻转
scaleX/scaleY:X轴|Y轴的缩放
X/Y:具体移动到的点
alpha:透明度
属性动画的这五个属性,类似于以前的value动画的四个属性,不过属性动画框架的执行效率更高,效果更好。
2、常用方法和类:
ValueAnimation、ObjectAnimation类:对于这两个类,相信大家一定不陌生了,更多的功能请查询谷歌API
AnimationUpdateListener、AnimationListenerAdapter:用于做属性动画的监听事件
PopertyValuesHolder:控制动画集合的显示效果、顺序与流程控制
AnimationSet、TypeEvaluators:值计算器和差值计算器
Interpolator:动画显示的变化规律
3、Interpolator的属性:
AccelerateInterpolator:不断加速
DecelerateInterpolator:不断减速
AnticipateInterpolator:前凸
OvershootInterpolator:尾翘
LinearInterpolator:线性变化
BounceInterpolator:自由落体
以上就是Interpolator差值器的6个属性,大家可以在项目中都实验一下,这样可以更好的理解和使用。
到今天Android属性动画的总结就为大家奉献完毕,欢迎交流学习(1453296946@qq.com)。
Android属性动画之ValueAnimation的更多相关文章
- Android属性动画
这几天看郭神的博客 Android属性动画完全解析(上),初识属性动画的基本用法之后,我自己突然想实现一种动画功能,就是我们在携程网.阿里旅行等等手机APP端买火车票的时候,看到有选择城市,那么就有出 ...
- 【转】android 属性动画之 ObjectAnimator
原文网址:http://blog.csdn.net/feiduclear_up/article/details/39255083 前面一篇博客讲解了 android 简单动画之 animtion,这里 ...
- Android属性动画完全解析(下)
转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...
- Android属性动画完全解析(上),初识属性动画的基本用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系 ...
- Android属性动画完全解析(中)
转载:http://blog.csdn.net/guolin_blog/article/details/43536355 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是 ...
- Android属性动画完全解析(上)
Android属性动画完全解析(上) 转载:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷 ...
- Android 属性动画(Property Animation) 全然解析 (下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38092093 上一篇Android 属性动画(Property Animatio ...
- Android 属性动画 源码解析 深入了解其内部实现
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42056859,本文出自:[张鸿洋的博客] 我参加了博客之星评选,如果你喜欢我的博 ...
- 用Android属性动画实现和演示迪士尼动画基本原则
本文将介绍在Android平台上实现和演示迪士尼动画基本准则. 项目开源,GitHub: https://github.com/vhow/animation 说明: 演示动画原则的想法源自 Anima ...
随机推荐
- linux(centos)源码安装git
最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...
- WideCharToMultiByte和MultiByteToWideChar函数的用法
为了支持Unicode编码,需要多字节与宽字节之间的相互转换.这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读<Windows核心编程>,总结出正确的用法. ...
- mysqld 已死,但是 subsys 被锁
1. Obviously the 'ole check the log file for anything nasty cat /var/log/mysqld.log 2. Stop the serv ...
- 手机浏览器,微信中播放amr录音
由于微信公众号开发中,临时素材只有三天的有效期,但是客户要求所有录音永久保存,永久素材数量又有限制,故只能把录音保存到服务器上.但是存到服务器上有一个问题,手机微信中无法直接播放amr录音.无意中发现 ...
- Xml文件并发读写的解决方法
之前对xml的操作大都是通过XmlDocument对象来进行,但是这样的情况对于没有并发的是非常合适的,最近遇到了并发读写xml文件的情况.通过文件流来操作能解决大部分的并发情况,对于极端的情况会有问 ...
- Percona Server 5.6.13-61.0 首个 GA 版本发布
Percona Server 5.6 的首个 GA 版本发布了,版本号是 5.6.13-61.0 ,该版本基于 MySQL 5.6.13 改进内容包括: New Features: Percona S ...
- centos 6.5 中部署开源的Lepus(天兔)监控
这俩天一直在搞mysql数据库和centos.昨天成功的部署完mysql的主从库配置后,自己想了想是否需要个数据库监控,和执行情况的监控软件,于是就去百度上搜了一下,结果就搜到了今天的‘主角’ Lep ...
- Apache Thrift 跨语言服务开发框架
Apache Thrift 是一种支持多种编程语言的远程服务调用框架,由 Facebook 于 2007 年开发,并于 2008 年进入 Apache 开源项目管理.Apache Thrift 通过 ...
- DOM何时Ready
由于script标签在被加载完成后会立即执行其中代码,如果在代码中要访问HTMLElement,可是这时候元素还没有加载进来,所以对元素的操作统统无效. 最早的时候使用window.onload = ...
- Guava-Optional可空类型
接上篇Guava之Joiner和Splitter,本篇将介绍Guava的另外一个有用的对象Optional,这在Java中Google Guava首先给我们提出可空对象模型的.在其他语言如c#这是已经 ...