Saya memulai aktivitas dan lebih suka menggunakan fade-in alfa untuk startActivity()
, dan fade-out untuk finish()
. Bagaimana saya bisa melakukan ini di Android SDK?
android
animation
fade
transition
coneybeare
sumber
sumber
Jawaban:
Dalam pernyataan yang sama di mana Anda menjalankan finish (), jalankan animasi Anda di sana juga. Kemudian, di aktivitas baru, jalankan animasi lain. Lihat kode ini:
fadein.xml
Di kelas akhir Anda
fadeout.xml
Di kelas Activity baru Anda, Anda membuat metode serupa seperti runFadeAnimation yang saya tulis dan kemudian Anda menjalankannya di onCreate dan jangan lupa untuk mengubah id sumber daya menjadi fadeout.
sumber
android:duration="@android:integer/config_shortAnimTime"
runFadeAnimation()
Mulai dari API level 5, Anda bisa segera memanggil overridePendingTransition untuk menentukan animasi transisi eksplisit:
atau
sumber
Lihat tema di android: http://developer.android.com/guide/topics/ui/themes.html .
Di bawah themes.xml seharusnya ada
android:windowAnimationStyle
tempat Anda bisa melihat deklarasi gaya di styles.xml .Contoh implementasi:
sumber
@android:anim/fade_in
dari kode java?Menggunakan
overridePendingTransition
fadein.xml
fadeout.xml
sumber
Untuk fadeIn dan fadeOut , hanya menambah ini setelah super.onCreate (savedInstanceState) di kelas Activity baru Anda. Anda tidak perlu membuat yang lain (Tanpa XML, tanpa folder anim, tanpa fungsi tambahan).
sumber
Jika Anda selalu ingin animasi transisi yang sama untuk aktivitas tersebut
sumber
Anda cukup membuat konteks dan melakukan sesuatu seperti di bawah ini: -
Dan animasi Anda: -
Anda dapat menggunakan animasi apa pun yang Anda inginkan.
sumber
Saya ingin menggunakan solusi styles.xml, tetapi solusi itu tidak berhasil untuk saya dengan aktivitas. Ternyata alih-alih menggunakan
android:windowEnterAnimation
danandroid:windowExitAnimation
, saya perlu menggunakan animasi aktivitas seperti ini:sumber
sumber
Sebagian besar jawaban cukup benar, tetapi beberapa di antaranya sudah usang seperti saat menggunakan R.anim.hold dan beberapa di antaranya hanya menjelaskan prosesnya.
Jadi, Anda bisa menggunakan:
sumber