是,過渡允許這一點。
在您的示例中,您的層次結構中既有網格視圖又有詳細視圖。要使用轉換,如果詳細視圖不在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