2016-04-28 2 views
2

У меня есть обычай Transition, используемый в общих элементах между моими двумя действиями.Почему Transition.captureStartValues ​​и Transition.captureEndValues ​​имеют одинаковый вид с одинаковыми атрибутами?

Мой переход не работает, потому что параметры TransitionValues имеет тот же View с теми же атрибутами в обоих методах, captureStartValues и captureEndValues. Таким образом, мой переход не имеет, что делать, когда начальные и конечные значения одинаковы.

Почему это происходит?

+0

Переходы активности фактически не переносят представление из одного вида деятельности в другое. Вместо этого он передает местоположение, размер и высоту, а также передает общий вид View в этом месте. Если вам нужно передать что-то еще, это зависит от вас. –

+0

Но когда я создаю настраиваемый переход, используемый в общих элементах, мне нужно записать эти разные значения из начальной и конечной сцены. Как я могу получить эти значения, если вид и атрибуты одинаковы? –

+0

например. Я хочу оживить свойство scrollX моего героя View. В моем расположении ActivityA мой герой View имеет scrollX = 10. В макете ActivityB у него есть scrollX = 50. Я не могу анимировать этот переход от ActivityA к ActivityB, потому что captureStartValues ​​и captureEndValues ​​всегда вызывают с представлением с scrollX = 50. –

ответ

0

Вы должны установить SharedElementCallback с помощью setEnterSharedElementCallback и переопределить onSharedElementStart и onSharedElementEnd и установить прокрутку как в начале, так и в конце. Когда он меняет направление, конец вызывается перед началом инвертирования перехода.

+0

Я установил эти значения прокрутки в своем макете xml в своих действиях. Я просто хочу прочитать эти значения, чтобы сделать мои аниматоры в моем пользовательском Transition. –

Смежные вопросы