diff --git a/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java b/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java index 4e2254270066..59703ce618f9 100644 --- a/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java +++ b/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java @@ -483,8 +483,10 @@ protected void finishSharedAnimation(int tag) { } Snapshot viewSourcePreviousSnapshot = mSnapshotRegistry.get(viewTag); if (viewSourcePreviousSnapshot != null) { + int originX = viewSourcePreviousSnapshot.originX; int originY = viewSourcePreviousSnapshot.originY; if (findStack(view) == null) { + viewSourcePreviousSnapshot.originX = viewSourcePreviousSnapshot.originXByParent; viewSourcePreviousSnapshot.originY = viewSourcePreviousSnapshot.originYByParent; } Map snapshotMap = viewSourcePreviousSnapshot.toBasicMap(); @@ -500,6 +502,7 @@ protected void finishSharedAnimation(int tag) { } } mAnimationsManager.progressLayoutAnimation(viewTag, preparedValues, true); + viewSourcePreviousSnapshot.originX = originX; viewSourcePreviousSnapshot.originY = originY; } if (mViewTagsToHide.contains(tag)) {