3

두 개의 활동 A1 및 A2가 있습니다. A1은 단편 F1을 가지고 A2는 단편 F2를 갖는다. 사용자가 조각 F1을 클릭하면 기본적으로로드 된 조각 F2가있는 활동 A2가 호출됩니다. 이것은 흐름입니다. 이제 조각 f1과 f2 사이에 공유 된보기가 있습니다. 나는 this link을 따라 공유 요소 전이를 구현했으며 작동하지만 가끔만 작동합니다. 프래그먼트간에 공유 요소가 일치하지 않습니다. 반환 전환은 예상대로 발생하지만 입력 전환이 항상 작동하는 것은 아닙니다.액티비티 전반에 걸쳐 조각간에 공유 요소가 일치하지 않음

어디로 잘못 가고 있습니까? 어디에서 setSharedElementEnterTransition()setSharedElementReturnTransition()을 설정해야합니까?

답변

0

나는이 답변에 잘못 그러나 그것을 무료로 사용해 느낄 수 있었다 :

당신을 따르는 경우에 당신이 setSharedElementEnterTransition()이는 경우에 따라 확인되는 onCreateView 방법에 setSharedElementReturnTransition()을 설정하지만 것을 내 가설이다 전체 활동 라이프 사이클 (you can check it here) 예를 들어, A1이 일시 중지 또는 중지 된 직후 Fragment1 코드가 onCreateView이 아니라 예상 한대로 onStart 또는 onResume에서 실행됩니다. 그러므로 setSharedElementEnterTransition()은 실행되지 않습니다.

왜냐하면 onStop 메서드가 호출 될 때 호출되기 때문에 반환 전환이 항상 작동한다고 생각합니다. 여기서 문제는 네 개의 활동주기를 혼합하기 때문에이 경우 shareElement 전환이 다소 복잡하다는 것입니다. 나는 이것에 대해 약간의 연구를해야하지만 그것이 그것이 이유라고 생각한다. 희망이 도움이됩니다.