按下Back
按钮时的默认动画是从左到右的幻灯片。我想用自定义动画替换它。我目前正在考虑onBackPressed()
和overridePendingTransition
的某种组合可以解决问题,但我无法让它发挥作用。
答案 0 :(得分:111)
我认为你不应该使用finish(),因为视图存储的数据将被删除
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
}
答案 1 :(得分:5)
想出来。我没有完成当前的活动。以下代码可以解决问题。
@Override
public void onBackPressed() {
[This Activity].this.finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
答案 2 :(得分:1)
如果你不想要动画
按照Activity
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(0,0);
}
参考: https://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int,int)
答案 3 :(得分:0)
我不会使用onBackPressed()
,因为当我们使用Fragments时它是一个hack,我们需要处理堆栈,例如。我在这里提出了一个更优雅的解决方案: