android ValueAnimator ObjectAnimator
16lz
2021-01-23
android PropertyAnimator 在API 11 过后才引入的 它完全可以替代 TweenAnimation
PropertyAnimator 分成两个类 ValueAnimator ObjectAnimator
ValueAnimator
看名字 就知道是 数值动画 就是然一个值 从多少 到多少, 只是将类似动画的效果用到了数值上面;
具体的作用本来是想写一篇 理解笔记的但是看到大牛写的一篇文章太详细了,我就不在写了,这里推荐出来
点击查看 :Animation——ValueAnimator基本使用
ObjectAnimator
ObjectAnimator其实是继承至ValueAnimator
public final class ObjectAnimator extends ValueAnimator三种方法 创建ObjectAnimator
1、 java 代码ObjectAnimator.ofXXX()的方式创建
//ivJack.getTranslationX();//ivJack.setTranslationX();// 就是凡是可以用set get方法得到的属性都可以进行 属性动画//如果不确定 属性值的名字 就用set get 先尝试一下ObjectAnimator tranX = ObjectAnimator.ofFloat(ivJack,"translationX",100,300,200,500);//就是 x坐标 先移动到100 再移动到300 再从300移动到200 再从200移动到500tranX.setDuration(3000); //动画执行一次的时长 重复一次就再加一倍tranX.setRepeatCount(1);//重复的次数tranX.setRepeatMode(ObjectAnimator.RESTART);//重复的方式tranX.setStartDelay(1000);//开始延时tranX.start();
2、第二种方式 先创建 PropertyValuesHolder
PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("scaleX",2f,0.5f,1);PropertyValuesHolder p2 = PropertyValuesHolder.ofFloat("scaleY",2f,0.5f,1);ObjectAnimator ob = ObjectAnimator.ofPropertyValuesHolder(ivJack, p1, p2);ob.start();
3、第三种方式 通过创建xml 文件
//加载xml 文件中加载的动画ObjectAnimator ro = (ObjectAnimator) AnimatorInflater.loadAnimator(this, R.animator.rotate_animator);//补间动画用的是AnimationUtils 属性动画用的是AnimatorInflaterro.setTarget(ivJack); // 设置动画对象ro.start();
还要有一个 AnimatorSet类
AnimatorSet set = new AnimatorSet(); set.playSequentially(animator1,animator2,animator3);//有序播放// set.playTogether(animator1,animator2,animator3);//一起播放// set.play(animater1).with(Animater2).after(animator3).before(animator4);// 自定义顺序播放 set.start();当然也可以通过xml代码生成
更多相关文章
- Android学习笔记_53_Android界面的基本属性
- Android 开关机动画修改
- TextView属性 盘点
- Android--(1)--TextView的常用属性值
- android Animation动画效果基础
- android--创建桌面快捷方式
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等