Android中的活动过渡动画

时间:2012-09-04 09:42:35

标签: android android-animation android-lifecycle

我想应用像HTC手机那样的活动转换:当你开始一个新的活动时,从右到左有一个幻灯片,但当你按下后退按钮返回上一个活动时,有幻灯片从左到右的动画。

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

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

非常感谢!

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

你在android活动中使用默认动画overridePendingTransition

startActivity(new Intent(getApplicationContext(),Login.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);