Android动画效果之- Property Animation(属性动画)
来源:互联网 发布:网络视听审核员证书 编辑:程序博客网 时间:2024/06/07 21:11
属性动画,在Android 3.0引进的新特性
一、首先,介绍一下Android属性动画的获取方式
通过ObjectAnimation.ofFloat(imageview,"动画特效方式",new float[]{});
返回对象后可以开启动画,start(); 还可以设置一些属性。基本属性如下:
- Duration:动画的持续时间
- TimeInterpolation:属性值的计算方式,如先快后慢
- TypeEvaluator:根据属性的开始、结束值与TimeInterpolation计算出的因子计算出当前时间的属性值
- Repeat Count and behavoir:重复次数与方式,如播放3次、5次、无限循环,可以此动画一直重复,或播放完时再反向播放
- Animation sets:动画集合,即可以同时对一个对象应用几个动画,这些动画可以同时播放也可以对不同动画设置不同开始偏移
- Frame refreash delay:多少时间刷新一次,即每隔多少时间计算一次属性值,默认为10ms,最终刷新时间还受系统进程调度与硬件的影响
二、其次我们要用代码实现动画效果
public void alpha(View view) { //透明度 ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "alpha", new float[]{0.0f, 0.2f, 0.4f, 0.6f, 0.8f, 1.0f}); oa.setDuration(2000); oa.setRepeatCount(-1); oa.setRepeatMode(ObjectAnimator.REVERSE); oa.start(); } public void trans(View view) { //平移 ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX", new float[]{10f, 20f, 30f, 40f, 60f, 80f}); oa.setDuration(2000); oa.setRepeatCount(-1); oa.setRepeatMode(ObjectAnimator.REVERSE); oa.start(); ObjectAnimator oa1 = ObjectAnimator.ofFloat(iv, "translationY", new float[]{10f, 20f, 30f, 40f, 60f, 80f}); oa1.setDuration(2000); oa1.setRepeatCount(-1); oa1.setRepeatMode(ObjectAnimator.REVERSE); oa1.start(); } public void scale(View view) { //缩放 ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "scaleX", new float[]{1f,2f,3f,4f,5f}); oa.setDuration(3000); oa.setRepeatCount(ObjectAnimator.INFINITE); oa.setRepeatMode(ObjectAnimator.REVERSE); oa.start(); } public void rotate(View view) { ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotationX", new float[]{90f,180f,270f,360f}); oa.setDuration(3000); oa.setRepeatCount(ObjectAnimator.INFINITE); oa.setRepeatMode(ObjectAnimator.REVERSE); oa.start(); } public void set(View view) { AnimatorSet set = new AnimatorSet(); ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX", new float[]{10f,20f,30f,40f,60f,80f}); oa.setDuration(3000); ObjectAnimator oa2 = ObjectAnimator.ofFloat(iv, "translationY", new float[]{-10f,-20f,-30f,-40f,-60f,-80f}); oa2.setDuration(3000); set.playTogether(oa,oa2); set.start(); } public void zb(View view) { ValueAnimator oa = ObjectAnimator.ofFloat(iv,"rotation",new float[]{90f,-90f}); oa.setDuration(500); oa.setRepeatCount(ObjectAnimator.INFINITE); oa.setRepeatMode(ObjectAnimator.REVERSE); iv.setPivotX(iv.getWidth()/2); iv.setPivotY(0-iv.getHeight()*2); oa.start(); }
阅读全文
1 0
- Android动画效果之初识Property Animation(属性动画)
- Android动画效果之初识Property Animation(属性动画)
- Android动画效果之Property Animation进阶(属性动画)
- Android动画效果之- Property Animation(属性动画)
- Android动画效果之初识Property Animation(属性动画)
- Android动画效果之Property Animation进阶(属性动画)
- android动画效果之Property Animation进阶(属性动画)
- Android动画效果之Property Animation进阶(属性动画)(四)
- Android动画之属性动画(Property Animation)(一)
- Android动画之属性动画(Property Animation)(二)
- Android动画之属性动画(Property Animation)(三)
- Android动画(三)之属性动画(Property Animation)
- Android 动画详解之属性动画(Property Animation)(下)
- Android动画之Property Animation(属性动画)
- Android学习之 属性动画<Property Animation>
- Android基础篇之属性动画(Property Animation)
- Android基础篇之属性动画(Property Animation)
- Android属性动画---Property Animation(一)
- Just a Hook (HDU
- 数据源--Springboot配置使用Druid数据源
- 1069. The Black Hole of Numbers (20) -----C++
- 解决pycharm中中文列表输出'\xe5\xa4\xa7\xe8\x92\x9c'之类的字符串
- 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/ch
- Android动画效果之- Property Animation(属性动画)
- hdu 4027 Can you answer these queries? 线段树
- 记录一下有关PCA的PWM
- CSS保持长宽比
- python爬虫——从此不用再愁找不到小说txt文件
- 短信在Mms中处理流程
- 局域网中连接mysql数据库
- SQL NOT NULL 约束
- Bridging signals