Saya telah memeriksa beberapa tutorial untuk transaksi animasi antar fragmen. Saya telah menggunakan metode ini untuk animasi dan berhasil:
fragmentTransaction.setCustomAnimations(android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
Tetapi saya ingin membalik animasi ini: fragmen lama bergeser ke kiri, dan fragmen baru meluncur ke kanan, tetapi tidak ada nilai R.anim
file yang tampaknya berguna untuk ruang lingkup saya.
Bagaimana saya bisa melakukannya?
override
key_code==back_key_press
di fragmen kedua Anda.Jawaban:
UPDATE Untuk Android v19 + lihat tautan ini melalui @Sandra
Anda dapat membuat animasi Anda sendiri. Tempatkan file XML animasi di
res > anim
enter_from_left.xml
enter_from_right.xml
exit_to_left.xml
exit_to_right.xml
Anda dapat mengubah durasi menjadi waktu animasi pendek
atau waktu animasi yang lama
PENGGUNAAN (perhatikan bahwa urutan pemanggilan metode pada transaksi penting. Tambahkan animasi sebelum Anda memanggil .replace, .commit):
sumber
700
agak banyak untuk animasi semacam itu, menurut saya. Kerangka Android memiliki 3 preset untuk waktu:android:duration="@android:integer/config_longAnimTime"
,android:duration="@android:integer/config_mediumAnimTime"
danandroid:duration="@android:integer/config_shortAnimTime"
, yang bersesuaian dengan 500, 400 dan 200. Saya kira unit ini milidetik, tapi saya tidak yakin.Ada tiga cara untuk animasi transaksi dalam fragmen.
Transisi
Animasi Kustom
Anda juga bisa menyesuaikan animasi dengan menggunakan metode setCustomAnimations ():
slide_up.xml
slide_down.xml
Beberapa Animasi
Untuk lebih jelasnya Anda dapat mengunjungi URL
Catatan: - Anda dapat memeriksa animasi sesuai kebutuhan Anda karena di atas mungkin ada masalah.
sumber
Saya memiliki masalah yang sama, saya menggunakan solusi sederhana
1) buat sliding_out_right.xml di folder anim
2) buat sliding_in_left.xml di folder anim
3) cukup menggunakan fragmen transaction setCustomeAnimations () dengan dua xml kustom dan dua xml default untuk animasi sebagai berikut: -
sumber
slide_in_down.xml
slide_in_up.xml
slide_out_down.xml
slide_out_up.xml
arah = turun
arah = atas
sumber
Ini adalah solusi lain yang saya gunakan:
Penggunaan kelas. Katakanlah Anda memiliki dua fragmen (daftar dan detail fragmen) seperti yang ditunjukkan di bawah ini
Pemakaian
Anda dapat menggunakan fungsi tersebut
CustomAnimator.reversePrevious();
untuk mendapatkan tampilan sebelumnya saat pengguna menekan kembali.sumber