API 16'dan beri , Context.startActivity (Intent, Bundle) veya ilgili yöntemleri çağırırken bir etkinlik seçenekleri paketi sağlayabilirsiniz . ActivityOptions oluşturucu aracılığıyla oluşturulur:
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());
Oluşturucu ve ActivityOptions diğer yöntemler kontrol etmeyi unutmayın ActivityOptionsCompat Destek Kitaplığı kullanıyorsanız.
API 5+:
API düzeyi 5+ hedefleyen uygulamalar için Etkinlikler overridePendingTransition
yöntemi vardır. Gelen ve giden animasyonlar için iki kaynak kimliği alır. Kimliği 0
, animasyonları devre dışı bırakır. Aramadan hemen sonra bunu startActivity
arayın.
yani:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
Intent.FLAG_ACTIVITY_NO_ANIMATION
Amacınızdaki bayrakla varsayılan animasyonu (sağdan içeri kaydır) engelleyebilirsiniz .
yani:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
daha sonra Aktivitenizde kendi animasyonunuzu belirtmeniz yeterlidir.
Bu aynı zamanda 1.5 API (Seviye 3) için de geçerlidir.