Я использую overridePendingTransition, когда создается мое действие, и оно отлично работает. Я вижу, что затухание отлично работает, но когда я пытаюсь анимировать завершение действия, он по-прежнему выполняет слайд справа налево по умолчанию.
Сначала я попытался определить анимацию выхода при запуске действия следующим образом:
Intent myIntent = new Intent(a, SkdyAlert.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
a.startActivity(myIntent);
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(a, R.anim.fadein, R.anim.fadeout);
}
Затем я попытался сделать это, когда закончу упражнение.
okBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(activity, 0, R.anim.fadeout);
}
}
});
Но ни один из этих подходов не предотвратит скольжение «справа налево» для анимации выхода. Есть идеи о том, что я делаю неправильно?
android
animation
android-activity
Б-Райс
источник
источник
R.anim.nothing
выглядит?finish()
метод, чтобы избежать переходов во всех случаях (кнопка «Назад» нажата, как образец):@Override public void finish() { super.finish(); overridePendingTransition(0, 0); }
На этот вопрос уже был дан ответ, но самый эффективный способ добавить анимацию при выходе из действия - переопределить метод finish () соответствующего действия:
источник
Я бы предложил использовать метод isFinishing () для настройки анимации в onPause вместо вызова finish ()
источник
источник
Я исправил эту проблему, используя такой подход:
открыть с анимацией:
Чтобы закрыть с анимацией:
источник
Попробуйте сделать это через тему. Вы можете определить анимацию входа и выхода для действий или всего приложения
источник
Следуя ответу @schwiz, вот переопределение анимации для встроенной темы Dialog, в которой я определил локальные анимации slide_up и slide_down. Моя деятельность указывает тему MyDialog, чтобы эти переходы входили и выходили.
источник
Используйте startActivityForResult, чтобы запустить дочернее действие, и в onActivityResult () родительского действия:
источник