Анимация по умолчанию, когда нажата кнопка Back
, представляет собой слайд слева направо. Я хотел бы заменить это с помощью специальной анимации. В настоящее время я думаю, что некоторая комбинация onBackPressed()
и overridePendingTransition
будет делать трюк, но я не смог заставить ее работать.
Анимация пользовательской обратной кнопки
Ответ 1
Я думаю, вы не должны использовать finish(), потому что данные, хранящиеся в представлениях, будут удалены
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
}
Ответ 2
Выяснил это. Я не занимался текущей деятельностью. Следующий код делает трюк.
@Override
public void onBackPressed() {
[This Activity].this.finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
Ответ 3
если вы не хотите анимации
выполните код в Activity
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(0,0);
}
Ссылка: https://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int, int)
Ответ 4
Я бы не использовал onBackPressed()
, поскольку он взломал, когда мы используем фрагменты, и нам нужно, например, обрабатывать стек. Я предложил более элегантное решение здесь: