Avoid changeBounds animations on Views that are not yet laidout

bug:17683930

This means that GONE views with empty bounds don't trigger
ChangeBounds animations the first time they're shown.

Change-Id: I6503c5b0a790d3d31f7566fab27a0b12c5f61f26
This commit is contained in:
Chris Craik
2014-10-06 14:50:59 -07:00
parent ba5df0d019
commit f791703f9b

View File

@@ -117,13 +117,16 @@ public class ChangeBounds extends Transition {
private void captureValues(TransitionValues values) {
View view = values.view;
values.values.put(PROPNAME_BOUNDS, new Rect(view.getLeft(), view.getTop(),
view.getRight(), view.getBottom()));
values.values.put(PROPNAME_PARENT, values.view.getParent());
if (mReparent) {
values.view.getLocationInWindow(tempLocation);
values.values.put(PROPNAME_WINDOW_X, tempLocation[0]);
values.values.put(PROPNAME_WINDOW_Y, tempLocation[1]);
if (view.isLaidOut()) {
values.values.put(PROPNAME_BOUNDS, new Rect(view.getLeft(), view.getTop(),
view.getRight(), view.getBottom()));
values.values.put(PROPNAME_PARENT, values.view.getParent());
if (mReparent) {
values.view.getLocationInWindow(tempLocation);
values.values.put(PROPNAME_WINDOW_X, tempLocation[0]);
values.values.put(PROPNAME_WINDOW_Y, tempLocation[1]);
}
}
}