Ответ 1
Используйте это: getWindow().setWindowAnimations(0);
в начале Activity
.
Я знаю, что с уровня API 5 можно указать флаг в намерении предотвратить нормальную анимацию, применяемую при запуске нового действия:
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Однако, мой вопрос: есть ли способ добиться того же самого в приложении, поддерживающем android 1.6?
Используйте это: getWindow().setWindowAnimations(0);
в начале Activity
.
В более новых версиях вы хотите переопределить переход с 0,0 сразу после запуска активности:
Intent i = new Intent(this, YourNewActivity.class);
startActivity(i);
overridePendingTransition(0,0);
Я пробовал это на 2.1 и 4.0.3, это сработало для меня. =)
Я нашел его в документах здесь
Это решение работало для меня (Android 2.2):
Intent intent = new Intent(getContext(), YourClass.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
FYI, я на 4.4.2, и это единственное, что я нашел, что работа:
Чтобы предотвратить открытие анимации: в стартовом действии onCreate(), добавьте overridePendingTransition (0,0).
Чтобы предотвратить закрытие анимации: после завершения(), немедленно вызовите overridePendingTransition (0,0).
Они НЕ работают (по крайней мере, не на моей сборке 4.4.2): (1) вызов getWindow(). setWindowAnimations (0) в onCreate() (передача ненулевым числом DOES работает, но (2) вызов overridePendingTransition (0,0) сразу после startActivity() - анимация все еще присутствует.
введите ниже код в onCreate of Activity:
getWindow().setWindowAnimations(0);