У меня проблема с sharedElementTransitions
. У меня есть один activity
с fragment
- от этого fragment
я начинаю новый activity
с sharedElementTransitions
, внутри этого activity
я начинаю fragment
и внутри этого fragment
является viewPager
, теперь, когда я называю setTransitionName
в этом fragment
все работает очень хорошо, но когда я перехожу его fragment
то есть внутри моего viewPager
и назовите его внутри onCreateView
нет плавной анимации ввода, обратная анимация работает по назначению. Я был совершенно уверен, что это может быть разрешено с помощью postponeEnterTransition
, поэтому в моем activity
с fragment
с viewPager
Я звоню postponeEnterTransition()
и в моем фрагменте getActivity().startPostponedEnterTransition()
, но он все еще не работает ... Любые идеи, что может пойти не так?Переход общего элемента с viewPager
5
A
ответ
4
// Postpone the shared element enter transition in onCreate()
postponeEnterTransition();
// after the layout and data is ready, invoke startPostponedEnterTransition() to start the enter transition animation
// for example:
sharedElement.getViewTreeObserver().addOnPreDrawListener(
new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
sharedElement.getViewTreeObserver().removeOnPreDrawListener(this);
startPostponedEnterTransition();
return true;
}
});
Пожалуйста, обратитесь к: http://www.androiddesignpatterns.com/2015/03/activity-postponed-shared-element-transitions-part3b.html для получения более подробной информации
Надеется, что это будет полезно!
Ответы на ссылки очень разочарованы здесь, потому что ссылки могут стать мертвыми в будущем. Я предлагаю вам отредактировать свой ответ с помощью цитат из источников, которые вы цитируете. –
Что делать, если у меня есть несколько общих элементов? Мне нужно добавить preDrawListeners для всех из них? – Lester