summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/AllAppsTabbed.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/com/android/launcher2/AllAppsTabbed.java b/src/com/android/launcher2/AllAppsTabbed.java
index 2cc0a6bb2..47a5bf7fc 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);
@@ -147,6 +153,12 @@ public class AllAppsTabbed extends TabHost implements AllAppsView {
}
@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);
}