ページをジャンプするのは簡単な効果です

1746 ワード

まず、WindowAnimationという名前の効果を格納するクラスを着てみました.
public class WindowAnimation extends Animation {

	private int halfWidth;
	private int halfHeight;
	private int duration;
	
	public WindowAnimation(int duration){
		this.duration = duration;
	}
	
	@Override
	protected void applyTransformation(float interpolatedTime, Transformation t) {
		super.applyTransformation(interpolatedTime, t);
		Matrix matrix = t.getMatrix();
		matrix.preScale(interpolatedTime, interpolatedTime); // , interpolatedTime ,interpolatedTime 0-1, 0, 1
		matrix.preRotate(interpolatedTime * 360); // 
		matrix.preTranslate(-halfWidth, -halfHeight); // , 
		matrix.postTranslate(halfWidth, halfHeight);
	}

	@Override
	public void initialize(int width, int height, int parentWidth,
			int parentHeight) {
		super.initialize(width, height, parentWidth, parentHeight);
		this.setDuration(duration); // 
		this.setFillAfter(true); // true, 
		this.halfHeight = height / 2; // 
		this.halfWidth = width / 2;
		this.setInterpolator(new LinearInterpolator()); // ( )
	}
}

 
 
次にActivityでActivityをスキップするときに、上記のクラスのメソッドを実装すればいいです.
//**指定activity*@param activityId*@param intent*/public void toActivity(String activityId,Intent intent){intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);View=getLocalActivity Manager().startActivity(activityId,intent).getcorDeView();//activityを切り替えると表示されるアニメーション効果view.setAnimation(new WindowAnimation(500));      mViewFlipper.removeAllViews();      mViewFlipper.addView(view);      mViewFlipper.showNext();     }
 
以下は私が直接他人の例を抜粋して参考にします.