diff options
Diffstat (limited to 'core/java/android/view/ViewOverlay.java')
| -rw-r--r-- | core/java/android/view/ViewOverlay.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/view/ViewOverlay.java b/core/java/android/view/ViewOverlay.java index 55109397f595..2d86bfe6b4f3 100644 --- a/core/java/android/view/ViewOverlay.java +++ b/core/java/android/view/ViewOverlay.java @@ -15,6 +15,7 @@ */ package android.view; +import android.animation.LayoutTransition; import android.content.Context; import android.graphics.Canvas; import android.graphics.Rect; @@ -169,6 +170,14 @@ public class ViewOverlay { child.offsetTopAndBottom(parentLocation[1] - hostViewLocation[1]); } parent.removeView(child); + if (parent.getLayoutTransition() != null) { + // LayoutTransition will cause the child to delay removal - cancel it + parent.getLayoutTransition().cancel(LayoutTransition.DISAPPEARING); + } + // fail-safe if view is still attached for any reason + if (child.getParent() != null) { + child.mParent = null; + } } super.addView(child); } |
