Ви можете створити свої власні файли анімації .xml, щоб вони зникали в новому Activity
і зникали поточні 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" />
Використовуйте його в коді так: (Всередині вашого Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class)
startActivity(i)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
Наведений вище код зникає з поточно активних Activity
і зникає в новоствореному, що Activity
призводить до плавного переходу.
ОНОВЛЕННЯ : @Dan J зазначив, що використання вбудованих анімацій Android покращує продуктивність , що я справді виявив, що це було після проведення тестування. Якщо ви віддаєте перевагу роботі з вбудованою анімацією, використовуйте:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Зверніть увагу, що я посилаюся android.R
замість того, R
щоб отримати доступ до ідентифікатора ресурсу.
ОНОВЛЕННЯ : Зараз загальноприйнятою практикою є переходи за допомогою класу Transition, введеного в API рівня 19 .
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
перегляд цих файлів може також дати вам підказки щодо того, як покращити власні анімації (наприклад, завдяки тому, що зникнення триває довше, ніж зникнення).