安卓笔记——动画
Posted _23_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓笔记——动画相关的知识,希望对你有一定的参考价值。
帧动画
缺点:内存消耗占用太多
补间动画
来自安卓老师的图
透明度变化
1、在activity.xml内写上相应的图片及按钮。
2、在 MainActivity .java文件中绑定图片,按钮,增加动画效果
ImageView imageView;
@SuppressLint("WrongViewCast")
imageView = findViewById(R.id.imageView);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 透明度动画
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"alpha",1,0,1,0); //缩放动画
objectAnimator.setDuration(5000); //动画执行时间
objectAnimator.start(); //动画开始
}
});
缩放
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 缩放动画
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"scaleX",2,0.5f); //缩放动画
objectAnimator.setDuration(5000); //动画执行时间
objectAnimator.start(); //动画开始
}
});
位移
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 位移动画
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"translationX",-200,200); //缩放动画
objectAnimator.setDuration(5000); //动画执行时间
objectAnimator.start(); //动画开始
}
});
旋转
findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 旋转动画
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"rotation",0,360); //缩放动画
objectAnimator.setDuration(5000); //动画执行时间
objectAnimator.start(); //动画开始
}
});
组合动画
findViewById(R.id.button5).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 组合动画
ObjectAnimator objectAnimatorX = ObjectAnimator.ofFloat(imageView,"scaleX",0,2f); //缩放动画
ObjectAnimator objectAnimatorY = ObjectAnimator.ofFloat(imageView,"scaleY",0,2f); //缩放动画
ObjectAnimator objectAnimatoralpha = ObjectAnimator.ofFloat(imageView,"alpha",1,0f); //缩放动画
// 合成
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(objectAnimatoralpha)
.with(objectAnimatorX)
.with(objectAnimatorY);
// 执行:play 同时:with 之后:before
animatorSet.setDuration(5000); //动画执行时间
animatorSet.start(); //动画开始
}
});
以上是关于安卓笔记——动画的主要内容,如果未能解决你的问题,请参考以下文章