ページをジャンプするのは簡単な効果です
1746 ワード
まず、WindowAnimationという名前の効果を格納するクラスを着てみました.
次に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(); }
以下は私が直接他人の例を抜粋して参考にします.
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(); }
以下は私が直接他人の例を抜粋して参考にします.