Activity转场动画 除了前述几种动画,android L还增加了一些activity的过渡动画——爆炸、滑动、淡入淡出,让应用更加平滑。使用这些动画,你必须在进入和退出activity都要求使用这些内容转场特效,并且在setOncontent()方法之前。 1 | getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
|
也支持通过样式设置转换动画,我将详解如何在activity中通过样式设置专场效果。使用getWindow().setExitTransition( Transition ) 和getWindow().setEnterTransition( Transition ) 方法告诉activity当打开和关闭时如何执行。使用迸发动画,从MainActivity和ListFragment 到第二个activity的代码可以这样写: 1 2 3 4 | ListFragment:
getActivity().getWindow().setExitTransition( new Explode() );
intent = new Intent( getActivity(), ExplodeAnimationActivity. class );
startActivity( intent );
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ExplodeAnimationActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
getWindow().setEnterTransition( new Explode() );
getWindow().setExitTransition( new Explode() );
setContentView(R.layout.activity_explode_animation);
}
@Override
public void onBackPressed() {
super .onBackPressed();
finishAfterTransition();
}
|
注意onBackPressed()方法——这很重要。因为它让操作系统知道在关闭第二个activity之前要完成动画的执行。使用这些简单的代码,我们就拥有了三种activity专场动画。

Explosion Transition 
Slide Transition 
Fade Transition
|