Как дать сверху вниз анимацию в Android?
Я могу дать снизу вверх анимацию, когда я перехожу к следующему действию, но теперь, когда я нажал назад, я использую тот же код для анимации сверху вниз анимации, но он всегда идет снизу вверх, так что мой вопрос как дать анимацию сверху вниз, когда я нажал кнопку назад на устройстве Android?
Пожалуйста, найдите мой код ниже.
я использую его во время перехода от одного Activity
к другому с помощью Intent
.
overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );
и XML является: slide_in_up.в XML
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>
и slide_out_up.xml-это
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="-100%p"
android:duration="@android:integer/config_longAnimTime"/>
4 ответов
просто измените -100 на 100 (удалите минус) в slide_out_up.в XML
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
}
Я только что реализовал его с еще двумя xml-файлами, имеющими как
слайд вверх, от 100 до 0 и от 0 до -100
сползите вниз -100 до 0 и 0 до 100
Она работает идеально.
работала на моем планшете 4.0.3.
slide_out_up.в XML:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="0%p"
android:toYDelta="-100%p" />
</set>
slide_in_up: xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="-100%p"
android:toYDelta="0%p" />
</set>
стиль.в XML:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="DialogAnimationOutUpInUp">
<item name="android:windowEnterAnimation">@anim/slide_in_up</item>
<item name="android:windowExitAnimation">@anim/slide_out_up</item>
</style>
</resources>
вы можете переопределить поведение нажатия кнопки назад и установить соответствующую анимацию, которую вы хотите, например:
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
}
изменение анимации в overridePendingTransition
чтобы он соответствовал тем, которые вы хотите.