Allow determining # of rows/columns for All Apps and Customize at run time
This commit is contained in:
@@ -54,6 +54,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.MeasureSpec;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.widget.Checkable;
|
||||
@@ -124,6 +125,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
private final Canvas mCanvas = new Canvas();
|
||||
private final LayoutInflater mInflater;
|
||||
|
||||
private boolean mFirstMeasure = true;
|
||||
|
||||
private final float mTmpFloatPos[] = new float[2];
|
||||
private final float ANIMATION_SCALE = 0.5f;
|
||||
|
||||
@@ -190,6 +193,31 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
mCenterPagesVertically = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
|
||||
final int widthSize = MeasureSpec.getSize(widthMeasureSpec);
|
||||
final int heightSize = MeasureSpec.getSize(heightMeasureSpec);
|
||||
|
||||
if (mFirstMeasure) {
|
||||
mFirstMeasure = false;
|
||||
|
||||
// TODO: actually calculate mCellCountX/mCellCountY as some function of
|
||||
// widthSize and heightSize
|
||||
//mCellCountX = ?
|
||||
//mCellCountY = ?
|
||||
|
||||
// Since mCellCountX/mCellCountY changed, we need to update the pages
|
||||
invalidatePageData();
|
||||
|
||||
// Create a dummy page and set it up to find out the content width (used by our parent)
|
||||
PagedViewCellLayout layout = new PagedViewCellLayout(getContext());
|
||||
setupPage(layout);
|
||||
mPageContentWidth = layout.getContentWidth();
|
||||
}
|
||||
}
|
||||
|
||||
public void setLauncher(Launcher launcher) {
|
||||
Context context = getContext();
|
||||
mLauncher = launcher;
|
||||
@@ -1093,6 +1121,11 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
|
||||
|
||||
@Override
|
||||
public void syncPages() {
|
||||
if (mFirstMeasure) {
|
||||
// We don't know our size yet, which means we haven't calculated cell count x/y;
|
||||
// onMeasure will call us once we figure out our size
|
||||
return;
|
||||
}
|
||||
boolean enforceMinimumPagedWidths = false;
|
||||
boolean centerPagedViewCellLayouts = false;
|
||||
switch (mCustomizationType) {
|
||||
|
||||
Reference in New Issue
Block a user