Ответ 1
Да, переходы позволяют это.
В вашем примере у вас есть как сетка, так и подробные представления уже в вашей иерархии. Чтобы использовать переходы, он будет работать лучше, если подробное представление не начинается в иерархии представления. Вам нужно обменять два вида.
Есть два (похожих) способа сделать это. Первый - иметь вид сетки в сцене. Затем используйте TransitionManager.go(detailScene, переход).
Второй способ - использовать TransitionManager.beginDelayedTransition, а затем поменять детальный макет для макета сетки.
Важно, чтобы общие представления имели что-то общее. Обычно это идентификатор вида или имя перехода. Эта ссылка укажет системе перехода, что, хотя представления представляют собой разные экземпляры.
Переход, который вы хотите использовать, - @android: переход/перемещение. Он объединяет ChangBounds, ChangeTransform, ChangeImageTransform и ChangeClipBounds. Вам нужно настроить таргетинг на общие представления элементов. Похоже, вам понадобится другой переход (Fade?) Для входящих и/или выходящих просмотров.
Что-то вроде этого:
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);