Activity_动画效果的跳转

  • 介绍
其实Activity在跳转Activity的时候是可以带有动画效果的。
  • 使用系统的动画
其实Android系统已经提供了四种动画,分别是:fade_in、fade_out、slide_in_left、slide_out_right、
先看看具体的代码

fade_in:(android.R.anim.fade_in)


代码解释:android:interpolator:  插值器,这个值,实际是DecelerateInterpolator:减速插值器,动画越来越慢
duration:所需的时间,这里用的是500ms

fade_out:(android.R.anim.fade_out)


代码解释:这里的插值器实际用的是AccelerateDecelerateInterpolator:加速减速插值器,动画两头慢中间快
时间是500ms

slide_in_left:(android.R.anim.slide_in_left)


    
    

完成的时间是:400ms

slide_out_right:(android.R.anim.slide_out_right)


    
    

时间也是400ms
  • 如何去使用
    在startActivity()和finish()方法之后,调用如下方法:
this.overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
这个方法里面有两个参数,参数一表示是要进入的Activity的动画,参数二表示是要出去的Activity的动画
另外,注意的是,可以调用好几个overridePendingTransition方法,效果会实现。
  • 使用自定义的动画
我们还可以自己自定义动画,来给当前Actiivty去使用。
在res目录下建立 anim文件夹,然后建立动画XML

    
    


建议还是用系统的时间,config_mediumAnimTIme,可能用户体验好点,
另外,android:zAdjustment = "top" 是为了强制让我们执行动画的activity放在最上层。
在使用的时候也是套用那个方法就可以了


- 注意事项

1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。

 2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:
    this.getParent().overridePendingTransition 就可以解决。

 3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。

 4、手机的显示动画效果被人为或者其他方式给关闭了 现在打开即可 设置->显示->显示动画效果
 此方法参考:  http://www.cnblogs.com/bavariama/p/3368515.html

5  推荐一篇文章,参考一下
https://blog.csdn.net/gf771115/article/details/49424899

你可能感兴趣的:(Activity_动画效果的跳转)