package com.hyrt.cei.ui.phonestudy.anim;
import android.content.Context;
import android.graphics.Camera;
import android.graphics.Matrix;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Transformation;
import android.app.Activity;
public class RightOneItemRightCamera extends Animation {
Camera camera = new Camera();
private Context context;
public RightOneItemRightCamera(Context context) {
this.context = context;
}
@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
setDuration(600);
setFillAfter(false);
setInterpolator(new DecelerateInterpolator());
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
Matrix matrix = t.getMatrix();
// camera.translate(10, 20,
// 30)的意思是把物体右移10,上移20,向前移30(即让物体远离camera,这样物体将会变小);
camera.save();
DisplayMetrics display = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay()
.getMetrics(display);
int width = display.widthPixels;
if (width == 1280) {
camera.translate(232.5f * interpolatedTime, -18.5f
* interpolatedTime, 137.8f * interpolatedTime);
} else {
camera.translate(232.5f * interpolatedTime, -18.5f
* interpolatedTime, 137.8f * interpolatedTime);
}
camera.getMatrix(matrix);
camera.restore();
}
}