Используйте overridePendingTransition в сочетании с пересозданием (). Это можно сделать?

Я использовал метод Android overridePendingTransition, чтобы с большим успехом анимировать переходы страниц активности. Пример показан

startActivity(new Intent(GetTagActivity.this, MainActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

У меня есть ситуация, когда мне нужно "обновить" страницу и пожелать постепенного перехода. Не вдаваясь в детали, я не могу использовать StartActivity(...)метод для вызова обновления (что позволило бы вызвать анимацию).

С помощью recreate()прекрасно работает, чтобы "обновить" страницу, однако я не смог добавить анимацию перехода. Это не сработало.

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

ни это

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

Может ли анимация затухания (или какой-либо переход активности) использоваться с refreshate()?

0 ответов

Да, это возможно. Что вам нужно сделать, это:

startActivity(new Intent(this, MyActivity.class));
finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

По сути это как звонить recreate(), Как указано в документации, "звоните сразу после одного из ароматов startActivity(Intent) или же finish()". Следовательно, recreate() не работает Обратите внимание, что этот код должен быть помещен в MyActivity.javaгде MyActivity - это имя действия, которое вы хотите воссоздать.

Вы можете использовать это (код Kotlin)

  override fun recreate() {
    finish()
    startActivity(Intent(this,this.javaClass))
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);


}
Другие вопросы по тегам