我使用以下过渡动画从 ActivityA 转到 ActivityB:
Intent intent = new Intent(this, activityB.class);
ImageView myImage = view.findViewById(R.id.myImage);
ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(this, myImage, "myImage");
startActivity(intent,activityOptions.toBundle());
在 ActivityB 上时,当我按回时,过渡动画仍然有效。但是在 ActivityB 上我需要重写 onBackPressed:
@Override
public void finish() {
super.finish();
Log.d("myTag", "finish: ");
}
@Override
public void onBackPressed() {
finish();
}
但是当我按回 ActivityB 时,不再应用过渡动画。
当 onBackPressed 被覆盖时,如何保持后按时的过渡动画效果?
最佳答案
您可以按照以下代码操作:
首先你像这样使用:
Intent intent = new Intent(ActivityFirst.this, ActivitySecond.class);
startActivity(intent);
overridePendingTransition(R.anim.right_in, R.anim.left_out);
现在您可以像这样使用 onBackPressed() 动画:
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
overridePendingTransition(R.anim.left_in, R.anim.right_out);
finish();
}
关于java - 当 onBackPressed() 被覆盖时保留过渡动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53007357/