上一次我们说了Android中的补间动画,一共有四种。但有朋友会问,如果我又想平移又想缩放怎么办。那就需要我们用到集合动画了。集合动画要使用到AnimationSet类,下面是集合动画的示例,补间动画的写法这里不进行阐述,可以参考我之前的文章学习。
public class MainActivity extends AppCompatActivity{
private View view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = findViewById(R.id.view);
//创建一个旋转动画
RotateAnimation rotateAnimation = new RotateAnimation(0f,360f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
rotateAnimation.setDuration(3000);
rotateAnimation.setFillAfter(true);
//创建一个灰度动画
AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f,0.1f);
alphaAnimation.setDuration(3000);
alphaAnimation.setFillAfter(true);
//创建一个平移动画
TranslateAnimation translateAnimation = new TranslateAnimation(1.0f,-100,1.0f,1.0f);
translateAnimation.setDuration(3000);
translateAnimation.setFillAfter(true);
//创建一个缩放动画
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f,1.0f,1.0f,0.5f);
scaleAnimation.setDuration(3000);
scaleAnimation.setFillAfter(true);
//创建一个集合动画
AnimationSet animationSet = new AnimationSet(true);
animationSet.addAnimation(rotateAnimation);
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillAfter(true);
view.startAnimation(animationSet);
}
}