Android 属性动画的简单使用

一言不合就上图 【Android 属性动画的简单使用】Android 属性动画的简单使用
文章图片

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

//找控件.获取资源idImageView 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.+'

    推荐阅读