多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 7.2.2 Activity的切换效果 Activity有默认的切换效果,但是这个效果我们是可以自定义的,主要用到overridePendingTransition(int enterAnim, int exitAnim)这个方法,这个方法必须在startActivity(Intent)或者finish()之后被调用才能生效,它的参数含义如下: * · enterAnim——Activity被打开时,所需的动画资源id; * · exitAnim——Activity被暂停时,所需的动画资源id。 当启动一个Activity时,可以按照如下方式为其添加自定义的切换效果: Intent intent = new Intent(this, TestActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); 当Activity退出时,也可以为其指定自己的切换效果,如下所示。 @Override public void finish() { super.finish(); overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); } 需要注意的是,overridePendingTransition这个方法必须位于startActivity或者finish的后面,否则动画效果将不起作用。 Fragment也可以添加切换动画,由于Fragment是在API 11中新引入的类,因此为了兼容性我们需要使用support-v4这个兼容包,在这种情况下我们可以通过FragmentTransaction中的setCustomAnimations()方法来添加切换动画。这个切换动画需要是View动画,之所以不能采用属性动画是因为属性动画也是API 11新引入的。还有其他方式可以给Activity和Fragment添加切换动画,但是它们大多都有兼容性问题,在低版本上无法使用,因此不具有很高的使用价值,这里就不再一一介绍了。