4

我想应用 HTC 手机那样的 Activity 过渡:当你开始一个新的 Activity 时有一个从右到左的滑动,但是当你按下后退按钮返回上一个 Activity 时,有一个向左滑动-向右动画。

overridePendingTransitiononResume我的活动中使用来模拟从右到左的滑动动画,但是当我按下后退按钮时,执行了相同的动画,这是错误的(从结果的角度来看)。

因此,我想问一下如何为一个活动管理不同的动画,一个用于创建它的动画,一个用于用户按下返回键的动画。

非常感谢!

4

2 回答 2

8

要在用户按下后退按钮时定义动画,您必须在其中覆盖并onBackPressed()在其中使用:ActivityoverridePendingTransition()

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

所以这个动画只会在按下后退按钮时显示。

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

startActivity(some_intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
于 2012-10-01T14:35:05.500 回答
0

您在 android 活动 overridePendingTransition 中使用了默认动画

startActivity(new Intent(getApplicationContext(),Login.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
于 2018-05-24T07:33:13.443 回答