Android开发 之 属性动画

来源:互联网 发布:淘宝女装代理排除同款 编辑:程序博客网 时间:2024/05/17 01:07

属性动画

属性动画是android3.0以后才有的,而且是真是改变组件的真是属性。而补间动画只是改变界面的绘制位置,组件的真实位置没有改变的。属性动画每个动画只能改变组件的一个属性,想改多个属性必须执行多个属性动画。

1. 平移动画:这是改变Y轴的,把第二个参数改成translationX的话就是改变x轴的动画。
//第一个参数作用在那个组件,第二个要改变组件的属性名称,第三个可变参数运动到10,在到50,在到100,在返回到40,组件的运动开始坐标视为0ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationY", 10, 50, 100,40);oa.setDuration(1000);oa.setRepeatCount(1);oa.setRepeatMode(ValueAnimator.REVERSE);oa.start();

2.缩放动画
//第一个参数作用在那个组件,第二个要改变组件的属性名称,第三个可变参数缩放倍数                ob = ObjectAnimator.ofFloat(iv,"scaleX",1, 3,2,1);                ob.setDuration(2000);                ob.start();

3. 透明动画
                //第一个参数作用在那个组件,第二个要改变组件的属性名称,第三个可变参数透明的倍数                oc = ObjectAnimator.ofFloat(iv,"alpha",0.2f, 0.8f,0.4f,1);                oc.setDuration(2000);                oc.start();

4.旋转动画
 //第一个参数作用在那个组件,第二个要改变组件的属性名称rotation,rotationX,rotationY,第三个可变参数旋转的角度                od = ObjectAnimator.ofFloat(iv,"rotation",0,45, 90,360);                od.setDuration(2000);                od.start();

5.一起飞
                AnimatorSet as=new AnimatorSet();//                as.playSequentially(oa,ob,oc,od);//挨个飞                as.playTogether(oa,ob,oc,od);//一起飞。                as.start();                break;

6.属性动画也可以使用xml定义,在res目录下创建Animator文件夹
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <objectAnimator android:propertyName="translationY"        android:duration="1000"        android:valueFrom="-100"        android:valueTo="100"        android:repeatCount="1"        android:repeatMode="reverse">    </objectAnimator></set>

Animator animator = AnimatorInflater.loadAnimator(this, R.animator.objectanimator);                animator.setTarget(iv);                animator.start();



以上的属性动画的基本使用。

原创粉丝点击