Sejak API 16, Anda bisa menyediakan bundel opsi aktivitas saat memanggil Context.startActivity (Intent, Bundle) atau metode terkait. Itu dibuat melalui pembangun 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());
Jangan lupa untuk memeriksa metode lain dari pembuat ActivityOptions dan ActivityOptionsCompat jika Anda menggunakan Pustaka Dukungan.
API 5+:
Untuk aplikasi yang menargetkan API level 5+, ada overridePendingTransition
metode Aktivitas . Dibutuhkan dua ID sumber daya untuk animasi masuk dan keluar. Id dari 0
akan menonaktifkan animasi. Panggil ini segera setelah startActivity
panggilan.
yaitu:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
Anda bisa mencegah animasi default (Geser masuk dari kanan) dengan Intent.FLAG_ACTIVITY_NO_ANIMATION
bendera di maksud Anda.
yaitu:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
lalu di Aktivitas Anda, Anda hanya perlu menentukan animasi Anda sendiri.
Ini juga berfungsi untuk 1.5 API (Level 3).
R.anim.fade_in
masih animasi file xml yang seharusnya kita milikires\anim
?Anda harus menggunakan metode OverridePendingTransition untuk mencapainya, yang ada di kelas Activity . Contoh Animasi dalam folder res / anim contoh apidemos. Periksa. Lebih dari memeriksa demo di ApiDemos / App / Activity / animation .
Contoh:
sumber
super.onResume();
, mendapatkan: "android.util.SuperNotCalledException: Activity {com.abc.MyActivity} tidak memanggil melalui super.onResume ()"Buat tutorial sehingga Anda dapat menghidupkan dan mematikan aktivitas Anda,
Nikmati:
http://blog.blundellapps.com/animate-an-activity/
sumber
Jelly Bean menambahkan dukungan untuk ini dengan metode ActivityOptions.makeCustomAnimation () . Tentu saja, karena hanya ada di Jelly Bean, ini sangat tidak berguna untuk tujuan praktis.
sumber
ActivityOptionsCompat
jika Anda menargetkan pra-JellyBean.