Android 属性动画的简单使用

一言不合就上图

Android 属性动画的简单使用_第1张图片
属性动画跟补间动画差不多,因为:效果一样
不一样的是:
补间动画:只有效果;
属性动画:是实质性的改变了图片的位置,大小,透明度,旋转度。
在MainActivity里面直接上代码:

        //找控件.获取资源id

        ImageView imageView = (ImageView) findViewById(R.id.first_iv);

//沿y轴放大
        ObjectAnimator scaleYAnimator = ObjectAnimator.ofFloat(imageView, "scaleY", 2f, 1f);
//沿x轴放大
        ObjectAnimator scaleXAnimator = ObjectAnimator.ofFloat(imageView, "scaleX", 2f, 1f);
//移动
        ObjectAnimator translationYAnimator = ObjectAnimator.ofFloat(imageView, "translationY", 0f, 400f);
//透明动画
        ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, "alpha", 0f, 1f);
//透明动画
        ObjectAnimator rotation = ObjectAnimator.ofFloat(imageView, "rotation", 0f, 360f);
//多属性一块来,集合
        AnimatorSet set = new AnimatorSet();
//同时沿X,Y轴放大,且改变透明度,然后移动
        set.play(scaleYAnimator).with(scaleXAnimator).with(animator).with(rotation).with(translationYAnimator);
//都设置3s,也可以为每个单独设置
        set.setDuration(3000);
        set.start();

这就完事了

下面是设置监听(也可以理解为,动画的生命周期)
根据你自己的需求,爱要不要反正我要:

//设置监听的生命周期
        set.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {
                Log.e("+++++++++","这是动画开始的方法");
            }

            @Override
            public void onAnimationEnd(Animator animator) {
                Toast.makeText(MainActivity.this,"调用了动画结束的方法",Toast.LENGTH_LONG).show();
            }

            @Override
            public void onAnimationCancel(Animator animator) {
                Log.e("+++++++++","这是动画取消的方法");
            }

            @Override
            public void onAnimationRepeat(Animator animator) {
                Log.e("+++++++++","这是动画重播的方法");
            }
        });

强调几点:
1我的Android studio是2.3.3版本,SDK下-v7:26.+’

compile 'com.android.support:appcompat-v7:26.+' 

你可能感兴趣的:(属性)