Bagaimana saya bisa mendefinisikan transisi antara dua aktivitas untuk Android 1.5 dan yang lebih baru? Saya ingin kegiatan memudar.
android
android-activity
transition
hpique
sumber
sumber
overridePendingTransition
jawaban terkait di bawah ini: Anda dapat lulus(0, 0)
jika Anda tidak menginginkan animasi sama sekali.Jawaban:
Anda dapat melakukannya dengan
Activity.overridePendingTransition()
. Anda dapat menentukan animasi transisi sederhana dalam file sumber daya XML.sumber
onCreate
fungsi Aktivitas Anda .Berikut kode untuk melakukan pemudaran halus yang bagus antara dua Kegiatan ..
Buat file bernama
fadein.xml
dires/anim
Buat file bernama
fadeout.xml
dires/anim
Jika Anda ingin memudar dari Aktivitas A ke Kegiatan B , menempatkan berikut dalam
onCreate()
metode untuk Kegiatan B . SebelumsetContentView()
bekerja untuk saya.Jika fade terlalu lambat untuk Anda, ubah
android:duration
file xml di atas menjadi sesuatu yang lebih kecil.sumber
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
Melihat file-file itu juga dapat memberi Anda petunjuk tentang cara meningkatkan animasi kustom Anda (misalnya dengan membuat fade lebih lama daripada fade out).fadein
danfadeout
kefade_in
danfade_out
. Dari pos Dan JoverridePendingTransition()
segera setelah meneleponfinish()
dan / ataustartActivity()
. Saya dapat memudar dengan cara ini dengan memanggilnya tepat setelah meluncurkan Aktivitas baru.Cara yang bahkan mudah untuk melakukannya adalah:
Itu dia :)
sumber
Iya. Anda dapat memberi tahu OS transisi seperti apa yang Anda inginkan untuk aktivitas Anda.
Di mana ANIMATION adalah bilangan bulat yang mengacu pada animasi bawaan di OS.
sumber
buat res> anim> fadein.xml
buat res> anim> fadeout.xml
Dalam res> values> styles.xml
Dalam aktivitas onCreate ()
sumber
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Untuk daftar animasi default, lihat: http://developer.android.com/reference/android/R.anim.html
Sebenarnya ada
fade_in
danfade_out
untuk API level 1 ke atas.sumber
Saya menimpa animasi aktivitas default saya. Saya mengujinya di api 15 agar bekerja dengan lancar. Inilah solusi yang saya gunakan:
Buat folder anim di bawah folder res dan kemudian buat empat file animasi ini:
slide_in_right.xml
slide_out_left.xml
slide_in_left.xml
slide_out_right.xml
Anda dapat mengunduh proyek sampel saya .
Itu saja... :)
sumber
Berikut kode untuk melakukan kelancaran yang bagus di antara dua aktivitas.
efek halus dari kiri ke kanan
Buat file bernama slide_in_right.xml dan slide_out_right.xml di res / anim
slide_in_right.xml
slide_out_right.xml
efek halus dari kanan ke kiri
Buat file bernama animation_enter.xml dan animation_leave.xml di res / anim
animation_enter.xml
animation_leave.xml
Menavigasi dari satu aktivitas ke Aktivitas kedua
4.Pada kembali acara tekan atau Navigasi dari aktivitas kedua ke satu Kegiatan
sumber
overridePendingTransition
segera setelah startActivity: developer.android.com/reference/android/app/…Anda tidak dapat menggunakan overridePendingTransition di Android 1.5. overridePendingTransistion datang ke Android 2.0.
Jika Anda akan melalui ini tanpa kesalahan Anda harus mengkompilasi untuk target (1,5 atau lebih tinggi) menggunakan animasi biasa (atau Anda sendiri) atau Anda harus mengkompilasi untuk target (2,0 atau lebih tinggi) menggunakan overridePendingTransistion.
Ringkasan: Anda tidak dapat menggunakan overridePendingTransistion di Android 1.5 .
Anda dapat menggunakan animasi bawaan di OS.
sumber
DALAM GALAXY Perangkat:
Anda perlu memastikan bahwa Anda tidak mematikannya di perangkat menggunakan Pengaturan> Opsi Pengembang:
sumber
Gunakan ActivityCompat.startActivity () berfungsi API> 21.
sumber
Sebelum Memulai Tujuan Anda:
Ini memberikan Animasi Default ke Transisi Aktivitas Anda.
sumber
Beberapa versi Android mendukung
Activity
transisi khusus dan beberapa tidak (perangkat yang lebih lama). Jika Anda ingin menggunakan transisi khusus, praktik yang baik untuk memeriksa apakahActivity
memilikioverridePendingTransition()
metode, seperti pada versi yang lebih lama tidak.Untuk mengetahui apakah metode itu ada atau tidak, API refleksi dapat digunakan. Berikut adalah kode sederhana yang akan memeriksa dan mengembalikan metode jika ada:
Dan kemudian, kita dapat menerapkan transisi kita sendiri, yaitu menggunakan metode ini jika ada:
Di sini, sebagai contoh, animasi fade-in dan fade-out sederhana digunakan untuk demonstrasi transisi ..
sumber
memperbesar animasi
zoom_enter
zoom_exit
sumber