Intereting Posts
Получите разрешение publish_action после получения прав на чтение от Facebook Уменьшение размера шрифта компонентов AlertDialog.Builder Получение ширины и высоты изображения с помощью библиотеки picasso Android Studio: не удается запустить Git Несколько типов MIME в Android Android – открыть или перезапустить приложение после нажатия push-уведомления с использованием действий флага Espresso и postDelayed NDK, объединяющий несколько библиотек Android Studio – невозможно запустить приложение на устройстве minSdk (API 23, N)! = Устройство Sdk (API 22) Чтение и запись java.util.Date из Parcelable class Задняя клавиша на программном добавлении Фрагмент приводит к пустой контейнеру Пользовательские события в исходном компоненте пользовательского интерфейса React Native Android получить реальный путь Uri.getPath () Если ScrollView поддерживает только один прямой дочерний элемент, как я могу сделать весь макет прокручиваемым? Nexus 4 не показывает файлы через MTP

Как отложить переход Fragment в Android Lollipop?

В Android Lollipop методы Activity#startPostponedEnterTransition() Activity#postponeEnterTransition() и Activity#startPostponedEnterTransition() Activity#postponeEnterTransition() и Activity#startPostponedEnterTransition() дают активности возможность задерживать начало входящих и выходящих общих переходов элементов до тех пор, пока все данные не будут загружены. Они отлично подходят для переходов Activity .

Есть ли способ добиться такого же эффекта при использовании переходов Fragment ?

Solutions Collecting From Web of "Как отложить переход Fragment в Android Lollipop?"

В переходах фрагментов нет прямого эквивалента, поскольку Fragments используют FragmentTransaction, и мы не можем отложить то, что должно произойти в транзакции.

Чтобы получить эквивалент, вы можете добавить фрагмент и скрыть его в транзакции, затем, когда фрагмент будет готов, удалите старый фрагмент и покажите новый фрагмент в транзакции.

 getFragmentManager().beginTransaction() .add(R.id.container, fragment2) .hide(fragment2) .commit(); 

Позже, когда фрагмент2 готов:

 getFragmentManager().beginTransaction() .addSharedElement(sharedElement, "name") .remove(fragment1) .show(fragment2) .commit();