2012-09-04 148 views
4

我想要应用HTC手机具有的活动转换:当您开始一个新的活动时,会有一个从右向左的滑动,但是当您按返回按钮返回到先前的活动,有一个从左到右的幻灯片动画。Android中的活动转换动画

我在我的活动的onResume中使用overridePendingTransition来模拟幻灯片从右到左的动画,但是当我按下后退按钮时,执行相同的动画是错误的(从结果的角度来看)。

因此,我想问一下如何管理一个Activity有不同的动画,一个是创建时的动画,另一个是用户按下返回键时的动画。

非常感谢!

回答

7

要当用户按下后退按钮定义动画,你必须覆盖onBackPressed()Activity,并在那里使用overridePendingTransition()

public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.in_from_left, R.anim.out_to_right); 
} 

所以当返回按钮被按下这个动画才会显示。

给新活动开启时设定的动画,你只需要定义动画,你叫startActivity()或类似后:

startActivity(some_intent); 
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left); 
+0

谢谢,我会检查出来,并告诉你:) –

+0

是什么'overridePendingTransition'方法中的'anim'。是我们想要动画的视图吗? – astuter

+0

@ I-droid不,这是动画资源http://developer.android.com/guide/topics/resources/animation-resource.html#View – Floern