Отключить белую вспышку во время SharedElementTransition

Можно ли отключить белую вспышку, появляющуюся при переходе между общими элементами? В моем приложении для Android есть темная тема, и белая вспышка делает приложение неприятным для использования всякий раз, когда происходит переход. Хотя были некоторые вопросы по этой проблеме, я пока не смог решить эту проблему в своем приложении.

(например, причина мигания была в этом вопросе stackoverflow в NavigationDrawerLayout , но мой переход начинается в моем действии после того, как представление было нажато во фрагменте)

стили.xml

    <!-- enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>

Этот метод запускает новый переход в моей деятельности

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void startItemDetailActivityTransition(Item pItem, boolean pForceComments, View pTransitionView) {
    Intent intent = new Intent(this,ItemDetailActivity.class);
    ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, Pair.create(pTransitionView, getString(R.string.transition_item)));
    intent.putExtra(ItemDetailActivity.EXTRA_ITEM, pItem);
    intent.putExtra(ItemDetailActivity.EXTRA_FORCE_COMMENTS, pForceComments);
    startActivity(intent, options.toBundle());
}

Спасибо за помощь


person user3135185    schedule 11.05.2015    source источник
comment
Вы нашли решение?   -  person Patrick    schedule 05.08.2016


Ответы (1)


попробуйте исключить части, которые имеют белую вспышку, как это

        Fade fade = new Fade();
    fade.excludeTarget(R.id.p1,true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setEnterTransition(fade);
    }
person lamba    schedule 07.03.2018