From 6c7a03a858d6a695d0f6005398cc6f9b3e7dd18d Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Sun, 16 Jan 2011 18:43:58 -0800 Subject: [PATCH] Fixed bug where All Apps would appear to animate from the right --- src/com/android/launcher2/AllAppsTabbed.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/com/android/launcher2/AllAppsTabbed.java b/src/com/android/launcher2/AllAppsTabbed.java index 2cc0a6bb2e..47a5bf7fc9 100644 --- a/src/com/android/launcher2/AllAppsTabbed.java +++ b/src/com/android/launcher2/AllAppsTabbed.java @@ -48,6 +48,7 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { private AllAppsPagedView mAllApps; private Context mContext; private final LayoutInflater mInflater; + private boolean mFirstLayout = true; public AllAppsTabbed(Context context, AttributeSet attrs) { super(context, attrs); @@ -135,6 +136,11 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { @Override public void setVisibility(int visibility) { + if (visibility == View.GONE && mFirstLayout) { + // It needs to be INVISIBLE so that it will be measured in the layout. + // Otherwise the animations is messed up when we show it for the first time. + visibility = View.INVISIBLE; + } final boolean isVisible = (visibility == View.VISIBLE); super.setVisibility(visibility); float zoom = (isVisible ? 1.0f : 0.0f); @@ -146,6 +152,12 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { return mAllApps.isVisible(); } + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + mFirstLayout = false; + super.onLayout(changed, l, t, r, b); + } + @Override public boolean isAnimating() { return (getAnimation() != null);