Переход на Android L и кнопка «Домой вверх»

Я использую новый переход Android L, в частности переходы общих элементов вместе с Slide(). Когда я нажимаю кнопку «Назад», переходы работают отлично, он скользит и перемещает общий ImageView в правильное место, но когда я нажимаю кнопку «Домой вверх» на панели действий, он игнорирует новые переходы.

Я установил этот блок кода в принимающей активности:

    getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
    getWindow().setExitTransition(new Slide());
    getWindow().setEnterTransition(new Slide());

И этот блок кода в моем «Основном» действии:

    getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
    Transition transition = new Slide();
    getWindow().setSharedElementEnterTransition(transition);
    getWindow().setSharedElementExitTransition(transition);

person Max Kleine    schedule 28.11.2014    source источник


Ответы (1)


Убедитесь, что вы вызываете finishAfterTransition() при нажатии кнопки вверх на панели действий:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            finishAfterTransition();             
            return true;
    }
    return super.onOptionsItemSelected(item);
}
person Alex Lockwood    schedule 28.11.2014
comment
Конечно, я вызываю finish(). Проблема все еще сохраняется, он не делает ту же анимацию. - person Max Kleine; 29.11.2014
comment
@MaxKleine Извините, в моем первоначальном ответе была опечатка. Я имел в виду finishAfterTransition(), не finish(). Я отредактировал свой пост с исправлением. - person Alex Lockwood; 29.11.2014