* commit 'a590a95c4d3b68f9df40b76eef1462d159ff568f': Fix ChangeTransform works only once on a View.
This commit is contained in:
@@ -228,7 +228,8 @@ public class ChangeTransform extends Transition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Next handle the normal matrix transform:
|
// Next handle the normal matrix transform:
|
||||||
ObjectAnimator transformAnimator = createTransformAnimator(startValues, endValues);
|
ObjectAnimator transformAnimator = createTransformAnimator(startValues, endValues,
|
||||||
|
handleParentChange);
|
||||||
|
|
||||||
if (handleParentChange && transformAnimator != null && mUseOverlay) {
|
if (handleParentChange && transformAnimator != null && mUseOverlay) {
|
||||||
createGhostView(sceneRoot, startValues, endValues);
|
createGhostView(sceneRoot, startValues, endValues);
|
||||||
@@ -238,7 +239,7 @@ public class ChangeTransform extends Transition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private ObjectAnimator createTransformAnimator(TransitionValues startValues,
|
private ObjectAnimator createTransformAnimator(TransitionValues startValues,
|
||||||
TransitionValues endValues) {
|
TransitionValues endValues, final boolean handleParentChange) {
|
||||||
Matrix startMatrix = (Matrix) startValues.values.get(PROPNAME_MATRIX);
|
Matrix startMatrix = (Matrix) startValues.values.get(PROPNAME_MATRIX);
|
||||||
Matrix endMatrix = (Matrix) endValues.values.get(PROPNAME_MATRIX);
|
Matrix endMatrix = (Matrix) endValues.values.get(PROPNAME_MATRIX);
|
||||||
|
|
||||||
@@ -277,7 +278,12 @@ public class ChangeTransform extends Transition {
|
|||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
if (!mIsCanceled) {
|
if (!mIsCanceled) {
|
||||||
setCurrentMatrix(finalEndMatrix);
|
if (handleParentChange && mUseOverlay) {
|
||||||
|
setCurrentMatrix(finalEndMatrix);
|
||||||
|
} else {
|
||||||
|
view.setTagInternal(R.id.transitionTransform, null);
|
||||||
|
view.setTagInternal(R.id.parentMatrix, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ANIMATION_MATRIX_PROPERTY.set(view, null);
|
ANIMATION_MATRIX_PROPERTY.set(view, null);
|
||||||
transforms.restore(view);
|
transforms.restore(view);
|
||||||
|
|||||||
Reference in New Issue
Block a user