对这个方法的使用,有些注意点,记个小笔记吧。如果有童鞋遇到类似问题,可以参考参考。
overridePendingTransition(int enterAnim, int exitAnim);
如果android系统在2.0以上,手机动画效果已开启,用此方法仍然没有看到效果,注意以下几点:
1.在startActivity(intent)之后使用时,enterAnim在exitAnim上层(图层的上一层)执行(即进入的动画在上层),此时可以没有exitAnim,但是一定要有enterAnim,如果enterAnim传0或者无效的动画资源的话,进入时没有动画效果,新页面会在一瞬间覆盖屏幕,所以exitAnim不会被看见,即使它执行了,你也丝毫看不见。2. 在finish()之后使用时, enterAnim在exitAnim下层执行 (出去的动画在上层), 此时可以没有enterAnim,但是一定要有exitAnim,道理同上。否则的话,要么动画很丑(页面突然消失,闪黑),要么下层执行的动画被挡住看不见,感觉不到动画效果。
还有两个注意点:
1.参数最好不要传0,这样的话对应的动画页面会一下子消失,背景黑乎乎一片,没有丝毫美感,用一个R.anim.none代替吧,如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<translate
android:fromXDelta="0"
android:toXDelta="0"></translate>
</set>
2.两个动画的执行时间最好一致,这样动画步调相同,看起来比较和谐。当然如果你本就是要制造凌乱的动画效果请忽略本条。