使用viewPager进行共享元素转换

时间:2015-04-21 14:39:41

标签: android

我对sharedElementTransitions有疑问。我有一个activity fragment - 来自此fragment我使用activity开始新的sharedElementTransitions,在此activity内我启动{{1}在fragmentfragment,现在当我在viewPager中调用setTransitionName时,一切都运行良好,但当我将其移至fragment时在我的fragment内并在viewPager内调用它没有平滑的输入动画,后退动画正在按预期工作。我确信可以使用onCreateView来解决此问题,因此在postponeEnterTransition activity fragment viewPager我正在调用postponeEnterTransition()并在我的片段中{{1}但是它仍然没有用......任何想法可能出错?

1 个答案:

答案 0 :(得分: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

希望它会有所帮助!