Начиная с API 16, вы можете предоставить пакет параметров действий при вызове Context.startActivity (Intent, Bundle) или связанных методов. Он создается с помощью ActivityOptions builder:
Intent myIntent = new Intent(context, MyActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out);
context.startActivity(myIntent, options.toBundle());
Не забудьте проверить другие методы построителя ActivityOptions и ActivityOptionsCompat , если вы используете библиотеку поддержки.
API 5 +:
Для приложений, ориентированных на уровень API 5+, существует метод «Действия» overridePendingTransition
. Требуется два идентификатора ресурса для входящей и исходящей анимации. Идентификатор 0
отключит анимацию. Позвоните сразу после startActivity
.
т.е:.
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3 +:
Вы можете запретить анимацию по умолчанию (вставьте справа) с помощью флага Intent.FLAG_ACTIVITY_NO_ANIMATION
в своем намерении.
то есть:.
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
, тогда в своей деятельности вы просто должны указать свою собственную анимацию.
Это также работает для 1.5 API (уровень 3).