Desde a API 16, você pode fornecer um pacote de opções de atividade ao chamar Context.startActivity (Intent, Bundle) ou métodos relacionados. Ele é criado por meio do construtor 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());
Não se esqueça de verificar os outros métodos do construtor ActivityOptions e ActivityOptionsCompat se você estiver usando a Biblioteca de Suporte.
API 5+:
Para aplicativos destinados ao nível de API 5+, existe o overridePendingTransition
método Activities . São necessários dois IDs de recursos para as animações de entrada e saída. Um id de 0
desativará as animações. Ligue imediatamente após a startActivity
ligação.
ie:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
Você pode evitar a animação padrão (deslize da direita) com a Intent.FLAG_ACTIVITY_NO_ANIMATION
bandeira em seu intent.
ie:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
então, em sua Atividade, você simplesmente precisa especificar sua própria animação.
Isso também funciona para a API 1.5 (Nível 3).
R.anim.fade_in
Ainda não é uma animação de arquivo xml que supomos terres\anim
?Você deve usar o método OverridePendingTransition para alcançá-lo, que está na classe Activity . Animações de exemplo na pasta res / anim do exemplo apidemos. Verifique-o. Mais do que verificar a demonstração em ApiDemos / App / Activity / animation .
Exemplo:
fonte
super.onResume();
, estava recebendo: "android.util.SuperNotCalledException: Activity {com.abc.MyActivity} não chamou super.onResume ()"Escreveu um tutorial para que você possa animar dentro e fora de sua atividade,
Aproveitar:
http://blog.blundellapps.com/animate-an-activity/
fonte
O Jelly Bean adiciona suporte para isso com o método ActivityOptions.makeCustomAnimation () . Claro, como está apenas no Jelly Bean, é praticamente inútil para fins práticos.
fonte
ActivityOptionsCompat
se você direcionar o pré-JellyBean.