Allow determining # of rows/columns for All Apps and Customize at run time

This commit is contained in:
Michael Jurka
2011-05-17 18:21:03 -07:00
parent d1d48a6840
commit 4c6016fab1
4 changed files with 96 additions and 29 deletions
+14 -12
View File
@@ -35,7 +35,6 @@ import android.widget.TabWidget;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Random;
/**
* Implements a tabbed version of AllApps2D.
@@ -126,16 +125,6 @@ public class AllAppsTabbed extends TabHost implements AllAppsView, LauncherTrans
}
});
// Set the width of the tab bar properly
int pageWidth = mAllApps.getPageContentWidth();
View allAppsTabBar = (View) findViewById(R.id.all_apps_tab_bar);
if (allAppsTabBar == null) throw new Resources.NotFoundException();
int tabWidgetPadding = 0;
final int childCount = tabWidget.getChildCount();
if (childCount > 0) {
tabWidgetPadding += tabWidget.getChildAt(0).getPaddingLeft() * 2;
}
allAppsTabBar.getLayoutParams().width = pageWidth + tabWidgetPadding;
// 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.
@@ -175,7 +164,20 @@ public class AllAppsTabbed extends TabHost implements AllAppsView, LauncherTrans
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
mFirstLayout = false;
if (mFirstLayout) {
mFirstLayout = false;
// Set the width of the tab bar properly
int pageWidth = mAllApps.getPageContentWidth();
TabWidget tabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs);
View allAppsTabBar = (View) findViewById(R.id.all_apps_tab_bar);
if (allAppsTabBar == null) throw new Resources.NotFoundException();
int tabWidgetPadding = 0;
final int childCount = tabWidget.getChildCount();
if (childCount > 0) {
tabWidgetPadding += tabWidget.getChildAt(0).getPaddingLeft() * 2;
}
allAppsTabBar.getLayoutParams().width = pageWidth + tabWidgetPadding;
}
super.onLayout(changed, l, t, r, b);
}