在Google的官方文档中,我们可以看到在Android4.0 之后,Google提供了ObjectAnimator类来简单实现卡片翻转的动画效果:http://developer.android.com/training/animation/cardflip.html;如果要兼容4.0以下的Android API去实现卡片翻转效果,主要有两种实现方式:
/**
* Created by keith on 12/12/2014.
*/
@Deprecated
public class FlipAnimation extends Animation{
private Camera camera;
private View fromView;
private View toView;
private float centerX;
private float centerY;
private boolean forward = true;
public FlipAnimation(View fromView, View toView){
this.fromView = fromView;
this.toView = toView;
setDuration(500);
setFillAfter(false);
setInterpolator(new LinearInterpolator());
}
public void reverse(){
forward = false;
View switchView = toView;
toView = fromView;
fromView = switchView;
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight){
super.initialize(width, height, parentWidth, parentHeight);
centerX = width / 2;
centerY = height /2;
camera = new Camera();
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final double radians = Math.PI * interpolatedTime;
float degrees = (float) (180.0 * radians / Math.PI);
if(interpolatedTime <= 0.05f