Saya memiliki tiga kegiatan yang mode peluncurannya adalah instance tunggal.
Menggunakan onfling()
, saya mengayunkannya ke kiri dan kanan.
Masalahnya adalah ketika saya menggesek ke kanan untuk transisi slide tidak apa-apa tetapi ketika saya menggesek dari kiri ke kanan, saya mendapatkan transisi menggesekkan kanan ke kiri.
Saya tahu mengapa ini terjadi karena saya selalu mengirimkan maksud baru. Tapi, sekarang saya perlu mengubah animasi geser ke kiri.
Saya tahu ada metode bernama overridingTransitionPending()
, tapi saya tidak tahu cara mendefinisikan animasi saya dalam XML.
Jawaban:
Gunakan xml ini di
res/anim/
Ini untuk animasi kiri ke kanan:
Ini untuk animasi kanan ke kiri:
Dalam coding Anda, gunakan niat seperti dari kiri ke kanan:
Dalam coding Anda gunakan maksud seperti kanan ke kiri
sumber
Jika Anda ingin pekerjaan transisi untuk seluruh aplikasi, Anda dapat membuat
rootacivity
dan mewarisinya dalam aktivitas yang Anda butuhkan. Dalam panggilan onCreate Aktivitas RootoverridePendingTransition
dengan arah yang diinginkan. DanonStart
panggiloverridePendingTransition
dengan arah lain jika aktivitas dilanjutkan. Di sini saya memberikan kode berjalan lengkap di bawah ini. Perbaiki saya jika saya salah.buat file xml ini di folder anim Anda
anim_slide_in_left.xml
anim_slide_in_right.xml
anim_slide_out_left.xml
anim_slide_out_right.xml
RootActivity
FirstActivity
SecondActivity
ThirdActivity
dan akhirnya Manifest
sumber
Membuat kode contoh yang menerapkan hal yang sama dengan efek slide dari kiri, kanan, atas dan bawah. (Bagi mereka yang tidak ingin membuat semua file anim xml itu :))
Lihat kode di github
sumber
Gunakan gaya ini seperti yang saya definisikan di bawah ini.
tampil - buat itu tampil saja.xml
===========================================
membuatnya perlahan memudar menjadi view.xml
==========================================
fadeout - membuatnya perlahan menghilang dari view.xml
==========================================
push_down_in.xml
==========================================
push_down_out.xml
==========================================
push_left_in.xml
==========================================
push_left_out.xml
==========================================
push_right_in.xml
==========================================
push_right_out.xml
==========================================
push_up_in.xml
==========================================
push_up_out.xml
==========================================
rotasi.xml
==========================================
scale_from_corner.xml
==========================================
scale_torwards_corner.xml
==========================================
shrink_and_rotate_a (keluar) .xml
==========================================
shrink_and_rotate_b (pintu masuk) .xml
======================================
blink.xml
======================================
ZoomIn.xml
======================================
ZoomOut.xml
======================================
FadeIn.xml
======================================
FadeOut.xml
======================================
Move.xml
======================================
SlideDown.xml
======================================
SlideUp.xml
======================================
Bounce.xml
sumber
Anda dapat menimpa animasi aktivitas default Anda. Inilah solusi yang saya gunakan:
Buat "CustomActivityAnimation" dan tambahkan ini ke Tema dasar Anda dengan "windowAnimationStyle".
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
Ini adalah proyek sampel saya di github.
Itu saja ... Selamat coding :)
sumber
Anda juga dapat melakukan ini:
Dan Anda tidak perlu menambahkan animasi xml
sumber
Saya tidak dapat menemukan solusi untuk jenis animasi ini menggunakan ViewPropertyAnimator.
Ini sebuah contoh:
Tata letak:
Animate - Tampilan kanan ke kiri dan keluar:
Animate - Kanan ke kiri, masukkan tampilan:
sumber
Jika level API Anda 19+, Anda dapat menggunakan
translation
seperti di atas. Jika level API Anda kurang dari 19, Anda dapat melihat tutorial serupa: http://trickyandroid.com/fragments-translate-animation/sumber
Untuk dari slide kanan ke kiri
res / anim / in.xml:
res / anim / out.xml:
dalam file Activity Java:
Anda dapat mengubah waktu durasi dalam file xml untuk animasi slide yang lebih panjang atau lebih pendek.
sumber