属性动画常用属性和方法
来源:互联网 发布:什么是c语言 编辑:程序博客网 时间:2024/05/19 12:37
属性动画
- 实现Animation框架的的功能
- 属性动画常用属性演示
- 动画的监听事件
ImageView imageview=(ImageView)findViewById(R.id.img);
ObjectAnimator.ofFloat(imageView,”translationX”,0F,200F).setDuration(200).start();
参数一为控件,参数二为移动的方向,参数移动的开始和结束
ImageView imageview=(ImageView)findViewById(R.id.img);
ObjectAnimator.ofFloat(imageView,”rotation”,0F,360F).setDuration(200).start();
- 旋转360
只要属性有get和set方法就可以通过属性动画操作它
同时执行,多个动作一起执行
ImageView imageview=(ImageView)findViewById(R.id.img);ObjectAnimator.ofFloat(imageView,"translationX",0F,200F).setDuration(200).start();//平移XObjectAnimator.ofFloat(imageView,"rotation",0F,360F).setDuration(200).start();//旋转ObjectAnimator.ofFloat(imageView,"translationY",0F,200F).setDuration(200).start();//平移YObjectAnimator.ofFloat(imageView,"alpha",0F,1F).setDuration(200).start();//透明度渐变
三个动画可使用类PropertyValuesHolder融合在一起,更加优化,性能提升
PropertyValuesHolder p1=PropertyValuesHolder.ofFloat("rotation",0F,360F);PropertyValuesHolder p2=PropertyValuesHolder.ofFloat("translationX",0F,200F);PropertyValuesHolder p3=PropertyValuesHolder.ofFloat("translationY",0F,200F);ObjectAnimator.ofPropertyValuesHolder(imageView,p1,p2,p3).setDuration(1000).start();
也可执行AnimatorSet把所有动画添加到一起播放
AnimatorSet set=new AnimatorSet();ObjectAnimator am1=ObjectAnimator.ofFload(imageView,"rotation",0F,360F);ObjectAnimator am2=ObjectAnimator.ofFloat(imageView,"translationX",0F,200F);ObjectAnimator am2=ObjectAnimator.ofFloat(imageView,"translationY",0F,200F);set.playTogether(an1,an2,an3);set.setDuration();set.start();
把这句set.playTogether(an1,an2,an3);
变为
set.playSequentially(an1,an2,an3);
可实现按顺序播放动画
实现同时播放和后播放的效果:
//先执行an2和an3,后执行an1set.play(an2).with(an3);set.play(an1).after(an2);
动画的监听事件
ObjectAnimator an=ObjectAnimator.ofFloat(imageView,"alpha",0F,1F).setDuration(200).start();//旋转
想实现动画结束的监听只要实现
an.addListener(new Animator.AnminatorListener(){ //实现里面所有的方法});
但是如果我们只需要实现动画里面的某个方法,可以使用监听AnimatorListenerAdapter
an.addListener(new AnimatorListenerAdapter(){ //只需要实现动画结束的方法 public void onAnimationEnd(Animator animation){ super.onAnimationEnd(animation); //实现动画结束的逻辑 }});
实现插值器
animation.setInterpolator(new BounceInterpolator());
BounceInterpolator只是其中一种插值器效果
ValueAnimator
使用ValueAnimator实现一个计时器的效果:
//点击事件中实现计时器public void click(View view){ final Button but=(Button)view; ValueAnimator anim=ValueAnimator.ofInt(0,100); anim.setDuration(5000); anima.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){ public void onAnimationUpdate(ValueAnimator animation){ Integer value=(Integer)animation.getAnimatedValue(); but.settext(value+""); } }); anim.start();}
总结属性-常用
- translationX\translationY
- rotation、rotationX\rotationY
- scaleX\scaleY
- X/Y
- alpha
总结–常用方法、类
- ValueAnimator
- ObjectAnimator
- AnimatorUpdateListener
- AnimatorListenerAdapter
- PropertyValuesHolder
- AnimatorSet
- TypeEvaluators
- Interpolators
1 0
- 属性动画常用属性和方法
- iOS-UIView属性动画和常用方法
- UIView常用属性、方法和动画
- android属性动画常用方法总结
- JQuery 常用方法和属性
- DOM常用属性和方法
- DataGridView常用属性和方法
- OLE 常用方法和属性
- OLE 常用方法和属性
- OLE 常用方法和属性
- UILable常用属性和方法
- UIImageView常用属性和方法
- UIImage常用属性和方法
- UILable常用属性和方法
- UITableView常用属性和方法
- UIButton常用方法和属性
- 常用方法和属性列表
- String常用属性和方法
- Django——HttpRequest和HttpResponse
- Android四种动画
- vim/spacemacs 打开源代码中文件路径
- Java基础练习
- leetCode No.378 Kth Smallest Element in a Sorted Matrix
- 属性动画常用属性和方法
- WINDOWS下bison和flex的使用
- JAVA学习随笔2
- 被粉碎的线段树【NOIP2016提高A组模拟9.3】
- 223. Rectangle Area*
- UVA7042(2014西安H题)-The Problem to Make You Happy-博弈+bfs
- 随机变量的数字特征(概率论常用知识)
- 浅谈C/C++ 开发Excel插件之创建项目
- mybatis官网