Android中的活动过渡动画

Dim*_*ris 4 android android-animation android-lifecycle

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

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

因此,我想问一下如何为Activity创建不同的动画,一个用于创建它,另一个用于用户按回键.

非常感谢!

Flo*_*ern 7

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

public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.in_from_left, R.anim.out_to_right);
}
Run Code Online (Sandbox Code Playgroud)

因此,只有在按下后退按钮时才会显示此动画.

要在新活动打开时设置动画,您只需在调用startActivity()或类似后定义动画:

startActivity(some_intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
Run Code Online (Sandbox Code Playgroud)