/res/animator目录下是用来定义属性动画(Property Animation)资源的。
这些资源都代表一个Animator类,Animator是一个抽象类,它的子类是:AnimatorSet、ValueAnimator、ObjectAnimator、TimeAnimator。
在该目录下的XML资源文件的根元素可以有3个:
<set.../>
它是一个父元素,可以包含<set.../>、<objectAnimator../>或<animator.../>,该元素定义的资源代表AnimatorSet对象。
<objectAnimator.../>
用于定义ObjectAnimator动画对象
<animator.../>
用于定义ValueAnimator动画对象。
调用方式:
Animator animator = AnimatorInflater.loadAnimator(MainActivity.this,R.animator.object);
animator.setTarget(img);
animator.start();
以下一个简单的动画调用实例:
布局很简单这边就不贴代码了:
一个按钮+一个ImageView
animator: 这边只是做了一个X轴Y轴的放大动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering="together">
<objectAnimator
android:duration="1000"//持续时间
android:valueType="floatType"//变化值得类型
android:propertyName="scaleX"//变化的属性名
android:valueFrom="1"//初始值
android:valueTo="2"//最终值>
</objectAnimator>
</set>
java调用代码
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animator animator = AnimatorInflater.loadAnimator(MainActivity.this,R.animator.object);
img.setPivotX(0);
img.setPivotY(0);
img.invalidate();
animator.setTarget(img);
animator.start();
}
});
实际动画效果如下:
![](http://osswb.oss-cn-shanghai.aliyuncs.com/image/20160413233920.gif)
尊重作者,转载请注明出处!
版权申明:本文版权归作者所有,未经授权,任何单位或个人不得以任何形式转载、摘编或利用其它方式使用本博客内容。作者保留追究相关法律责任的权利。如需使用博客内容,请与作者联系获得授权。感谢对本文的尊重与支持。
免责声明:本网站所载内容仅供参考,不构成任何专业建议。用户基于本网站内容作出的决策,风险自担。对于因使用本网站内容而产生的任何直接或间接损失,本网站不承担任何责任。请用户审慎判断,理性使用。