OverrideingPendingTransition реализация для Android
Я пишу код для переопределения анимации входа и выхода по умолчанию для Activity
,
Я использую OverridePendingTransition для выполнения этой задачи. Здесь я делаю переход от Activity1 к Activity2.
Я хочу, чтобы Activity1 двигался справа налево, а Activity2 должен оставаться за этим без какой-либо анимации.
Как я могу этого достичь?
Здесь я попытался поставить 0 для входа в анимацию, но это не работает.
1 ответ
Вам просто нужно вызвать функции anim, перейдя от Activty1 к Activity2.
public class AnimUtils {
/*Right to Left Slide Animation*/
public static void rightToLeftAnimation(Activity activity) {
activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
/*Left to Right*/
public static void leftToRightAnimation(Activity activity) {
activity.overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}}
Создайте имя каталога res как anim. И поместите XML-файлы в этот каталог.
Вот слайд_in_right.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%" />
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
Анимация slide_out_left.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="-100%" />
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
И слайд_in_left.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="-100%"
android:toXDelta="0%" />
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
Также slide_out_right.xml, имейте в виду, что вы можете изменить анимацию по своему выбору, сместив места анимации в приведенном выше коде.
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" />
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.0" />