Анимация слайдов активности работает только при нажатии кнопки "Назад"

Я пытаюсь добавить скользящую анимацию при входе и выходе из активности, но она работает только при нажатии кнопки возврата телефона. При нажатии кнопки вверх на панели инструментов или отдельной кнопки это не работает.

Я пытался добавить overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right); линия к onPause() метод, а также finish() метод и метод OnClick кнопок, но он не работает: /

no_anim.xml:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="0"
        android:fromXDelta="0"
        android:toXDelta="0" />
</set>

slide_out_right.xml:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="0"
        android:toXDelta="100%p" />
</set>

Джава:

public void button(View view) {
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}

@Override
public void finish(){
    super.finish();
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}

@Override
protected void onPause() {
    super.onPause();
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}

2 ответа

Ты можешь позвонить onBackPressed() при нажатии кнопки вверх на панели инструментов

Установить панель инструментов Навигация по нажатию кнопки прослушивания:

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish(); //close activity
        overridePendingTransition(R.anim.your_anim, R.anim.your_anim);
    }
});

Это обязательно сработает!

Другие вопросы по тегам