Take into account scroll offset for transition animation

This CL fixed the issue where scroll offset was ignored when shared
elements are added to the ghost view and when they are laid out.

Bug: 20349408
Change-Id: Ifaeb821bffe6fcfe303221a1732125bf1c4a91b7
This commit is contained in:
Doris Liu
2015-05-01 11:02:01 -07:00
parent 729d0a06ea
commit 18c2b0ef36

View File

@@ -476,9 +476,8 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
tempRect.set(0, 0, width, height);
view.getMatrix().mapRect(tempRect);
ViewGroup parent = (ViewGroup) view.getParent();
left = leftInParent - tempRect.left + parent.getScrollX();
top = topInParent - tempRect.top + parent.getScrollY();
left = leftInParent - tempRect.left;
top = topInParent - tempRect.top;
right = left + width;
bottom = top + height;
}
@@ -506,7 +505,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
ViewGroup parent = (ViewGroup) view.getParent();
Matrix matrix = new Matrix();
parent.transformMatrixToLocal(matrix);
matrix.postTranslate(parent.getScrollX(), parent.getScrollY());
mSharedElementParentMatrices.add(matrix);
}
}
@@ -521,6 +520,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
// Find the location in the view's parent
ViewGroup parent = (ViewGroup) viewParent;
parent.transformMatrixToLocal(matrix);
matrix.postTranslate(parent.getScrollX(), parent.getScrollY());
}
} else {
// The indices of mSharedElementParentMatrices matches the