Saya menggunakan overridePendingTransition ketika aktivitas saya dibuat dan berfungsi dengan baik, saya dapat melihat fade in berfungsi dengan baik, tetapi ketika saya mencoba dan menganimasikan penyelesaian pada aktivitas, ia masih melakukan slide kanan ke kiri default.
Saya pertama kali mencoba mendefinisikan animasi keluar ketika saya memulai aktivitas sebagai berikut:
Intent myIntent = new Intent(a, SkdyAlert.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
a.startActivity(myIntent);
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(a, R.anim.fadein, R.anim.fadeout);
}
Kemudian saya mencoba melakukannya setelah saya menyelesaikan aktivitas juga
okBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(activity, 0, R.anim.fadeout);
}
}
});
Namun tak satu pun dari pendekatan ini yang akan mencegah slide "kanan ke kiri" untuk animasi keluar. Adakah ide tentang apa yang saya lakukan salah?
sumber
R.anim.nothing
tampilannya?finish()
metode untuk menghindari transisi dalam semua kasus (tombol kembali ditekan, sebagai contoh):@Override public void finish() { super.finish(); overridePendingTransition(0, 0); }
Pertanyaan ini telah terjawab, tetapi cara paling efisien untuk meletakkan animasi saat keluar dari aktivitas adalah dengan mengganti metode "finish ()" dari aktivitas terkait:
sumber
Saya akan menyarankan untuk menggunakan metode isFinishing () untuk mengonfigurasi animasi di onPause daripada memanggil finish ()
sumber
sumber
Saya memperbaiki masalah ini menggunakan pendekatan semacam ini:
untuk membuka dengan animasi:
Untuk menutup dengan animasi:
sumber
Pertimbangkan melakukannya melalui sebuah tema. Anda dapat menentukan animasi keluar masuk untuk aktivitas atau seluruh aplikasi
sumber
Mengikuti jawaban dari @schwiz, berikut adalah animasi override untuk tema Dialog built-in, di mana saya telah mendefinisikan animasi slide_up dan slide_down lokal. Aktivitas saya menentukan tema MyDialog agar transisi ini masuk dan keluar.
sumber
Gunakan startActivityForResult untuk memulai aktivitas anak Anda dan di onActivityResult () aktivitas induk Anda:
sumber