Ensuring that we offset cell items by their destination cell padding. (Bug 10881814)

Change-Id: Idc16ae64b1a0e7f79b8a3ff5da6854fbab7867d2
This commit is contained in:
Winson Chung
2013-10-08 17:00:19 -07:00
parent 82a9bd2c03
commit 69737c3e49
2 changed files with 11 additions and 14 deletions

View File

@@ -123,6 +123,13 @@ public class ShortcutAndWidgetContainer extends ViewGroup {
mIsHotseatLayout = isHotseat;
}
int getCellContentHeight() {
final LauncherAppState app = LauncherAppState.getInstance();
final DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
return Math.min(getMeasuredHeight(), mIsHotseatLayout ?
grid.hotseatCellHeightPx : grid.cellHeightPx);
}
public void measureChild(View child) {
final LauncherAppState app = LauncherAppState.getInstance();
final DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
@@ -137,7 +144,7 @@ public class ShortcutAndWidgetContainer extends ViewGroup {
// Widgets have their own padding, so skip
} else {
// Otherwise, center the icon
int cHeight = mIsHotseatLayout ? grid.hotseatCellHeightPx : Math.min(getMeasuredHeight(), grid.cellHeightPx);
int cHeight = getCellContentHeight();
int cellPaddingY = (int) Math.max(0, ((lp.height - cHeight) / 2f));
int cellPaddingX = (int) (grid.edgeMarginPx / 2f);
child.setPadding(cellPaddingX, cellPaddingY, cellPaddingX, 0);