Анимация перехода общего элемента в / из полноэкранного режима

Я создал анимацию перехода между общими элементами между ImageView, расположенным в RecyclerView в Activity A, к полноэкранному ImageView в Activity B. Я заметил, что если Activity B помечается в его теме с помощью:

    <item name="android:windowFullscreen">true</item>

затем при возвращении из занятия B к занятию A переход заканчивается раздражающим "прыжком", когда строка состояния отображается снова.

Есть идеи, как это решить?

ps Я не использую переопределение overridePendingTransition между действиями и переходом общего элемента, по умолчанию.

1 ответ

Деятельность A: не полноэкранный;
Деятельность B: полноэкранный;

Просто добавьте это:

В A:

setExitSharedElementCallback(new SharedElementCallback() {
            @Override
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
                 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            }
        });

В Б:

@Override
public void finishAfterTransition() {
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    super.finishAfterTransition();
}

Надеюсь, это поможет ~

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