Anda dapat membuat file animasi .xml Anda sendiri untuk memudar menjadi yang baru Activity
dan memudar saat ini Activity
:
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
Gunakan dalam kode seperti itu: (Inside your Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class)
startActivity(i)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
Kode di atas akan memudarkan yang saat ini aktif Activity
dan memudar di yang baru dimulai Activity
menghasilkan transisi yang mulus.
UPDATE : @Dan J menunjukkan bahwa menggunakan animasi Android bawaan meningkatkan kinerja , yang memang saya temukan terjadi setelah melakukan beberapa pengujian. Jika Anda lebih suka bekerja dengan animasi bawaan, gunakan:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Perhatikan saya mereferensikan android.R
alih-alih R
mengakses id sumber daya.
PEMBARUAN : Sekarang praktik umum untuk melakukan transisi menggunakan kelas Transisi yang diperkenalkan di API level 19 .
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 in bertahan lebih lama daripada fade out).