Поскольку API 16 вы можете поставлять варианты деятельности сверток при вызове Context.startActivity(Intent, Bundle) или связанных методов. Он создан с помощью ActivityOptions строителя:
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).
Что вы имеете в виду когда вы говорите «укажите свою собственную анимацию»? Как ты делаешь это? Благодаря! – pqn
У меня такой же вопрос. Возможно, в начале анимации в onResume и onPause. – Tima
есть способ использовать Animator вместо этого? –