是,过渡允许这一点。
在您的示例中,您的层次结构中既有网格视图又有详细视图。要使用转换,如果详细视图不在View层次结构中启动,它将会更好。你需要交换两个观点。
有两种(类似)的方式来做到这一点。首先是在场景中显示网格视图。然后使用TransitionManager.go(detailScene,transition)。
第二种方法是使用TransitionManager.beginDelayedTransition,然后交换网格布局的详细布局。
让共享视图具有共同点很重要。通常它是一个视图ID或transitionName。这个链接将告诉转换系统,即使视图是不同的实例。
您要使用的过渡是@android:transition/move。它结合了ChangBounds,ChangeTransform,ChangeImageTransform和ChangeClipBounds。您必须在共享元素视图中将其作为目标。看起来您需要进入和/或退出视图的另一个转换(淡入淡出?)。
事情是这样的:
TransitionSet shared = ...
shared.addTarget("sharedName");
gridElement.setTransitionName("sharedName");
Fade fade = new Fade();
fade.excludeTarget("sharedName", true);
TransitionSet set = new TransitionSet();
set.addTransition(shared)
.addTransition(fade);
TransitionManager.go(detailScene, set);
android.transition.Scene? – pskink 2015-02-07 20:22:14