android 中活动之间的过渡效果

Transition effects between activities in android

在一个button click上,我想去一个不是我写的activity(such as ACTION_DIAL),同时我想控制它的transition effects .

我可以用overridePendingTransition在打开activity时控制transition effect,但是当我回到transition effect时我无法控制transition effectbackbutton 相同的页面。

我希望在 activity 的开始和结束期间发生相同的效果 (android.R.anim.fade_in, android.R.anim.fade_out),目前还没有发生。它只在开始时有效。

我正在添加下面的代码片段。请看看并帮助我。 :)

case R.id.button1:intent = new Intent(Intent.ACTION_DIAL);

                             startActivity(intent);
                             overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
                             break;
case R.id.button2:intent = new Intent(Intent.ACTION_MAIN);
                             intent.addCategory(Intent.CATEGORY_APP_MESSAGING);
                            //intent.setType("vnd.android-dir/mms-sms");
                             startActivity(intent);
                             overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
                             break;

在你的 activity

中这样尝试
@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}

@Override
public void onBackPressed() {
    finish();
}

或 就是这个

@Override
public void onBackPressed() {
   super.onBackPressed();
   overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}

感谢 SaravInfern 的帮助。但是您的解决方案对我没有帮助,因为我正在使用 onBackPressed() 函数进行其他操作。

但是我自己找到了解决方案,多亏了https://developer.android.com/training/basics/activity-lifecycle/stopping.html

我在 onResume 和 onPause 函数中添加了 'overridePendingTransition(R.anim.fade_in, R.anim.fade_out)' 行,如下所示,它解决了我的问题。

@Override
public void onResume() {
    super.onResume();

    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

}

@Override
public void onPause() {
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
    super.onPause();

}