跳转页面是的一个简单效果

首先,我来穿件一个存放效果的类,命名为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 view = getLocalActivityManager().startActivity(activityId, intent).getDecorView();
      //切换activity时显示的动画效果
      view.setAnimation(new WindowAnimation(500));
      mViewFlipper.removeAllViews();
      mViewFlipper.addView(view);
      mViewFlipper.showNext();
     }

 

下面是我直接摘抄他人的实例,作为参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值