Начиная с 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
метод Activities . Для входящей и исходящей анимации требуется два идентификатора ресурса. Идентификатор 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);
тогда в своей деятельности вам просто нужно указать собственную анимацию.
Это также работает для API версии 1.5 (уровень 3).
R.anim.fade_in
мы не предполагаем, что все еще есть анимация xml-файлаres\anim
?Для этого необходимо использовать метод OverridePendingTransition, который находится в классе Activity . Образцы анимации в папке res / anim примера apidemos. Проверь это. Более чем проверьте демонстрацию в ApiDemos / App / Activity / animation .
Пример:
источник
super.onResume();
, я получал: «android.util.SuperNotCalledException: Activity {com.abc.MyActivity} не вызывается на super.onResume ()»Написал учебник, чтобы вы могли анимировать свои действия,
Наслаждаться:
http://blog.blundellapps.com/animate-an-activity/
источник
Jelly Bean добавляет поддержку для этого с помощью метода ActivityOptions.makeCustomAnimation () . Конечно, поскольку он есть только в Jelly Bean, для практических целей он практически бесполезен.
источник
ActivityOptionsCompat
если вы нацеливаетесь на pre-JellyBean.