diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 21abd3c936..356de7869b 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -16,7 +16,7 @@ - 16dp + 8dp 32dp 1dp 50dp @@ -30,7 +30,6 @@ 8dp - 8dp diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index 42b64ea830..aac80052e4 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -860,10 +860,10 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { // Expand the background drawing bounds by the padding baked into the background drawable mBackground.getPadding(mTempRect); mBackground.setBounds( - left - mTempRect.left, - top - mTempRect.top, - right + mTempRect.right, - bottom + mTempRect.bottom); + left - mTempRect.left - getPaddingLeft(), + top - mTempRect.top - getPaddingTop(), + right + mTempRect.right + getPaddingRight(), + bottom + mTempRect.bottom + getPaddingBottom()); } /** diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 7520be2f6e..0f4abbe2e9 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -71,7 +71,8 @@ public class DeviceProfile { private final float overviewModeIconZoneRatio; // Workspace - private int desiredWorkspaceLeftRightMarginPx; + private final int desiredWorkspaceLeftRightMarginPx; + public final int cellLayoutPaddingLeftRightPx; public final int edgeMarginPx; public final Rect defaultWidgetPadding; private final int defaultPageSpacingPx; @@ -171,7 +172,8 @@ public class DeviceProfile { this.getClass().getName()); defaultWidgetPadding = AppWidgetHostView.getDefaultPaddingForWidget(context, cn, null); edgeMarginPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin); - desiredWorkspaceLeftRightMarginPx = edgeMarginPx; + desiredWorkspaceLeftRightMarginPx = isVerticalBarLayout() ? 0 : edgeMarginPx; + cellLayoutPaddingLeftRightPx = isVerticalBarLayout() ? 0 : edgeMarginPx; pageIndicatorSizePx = res.getDimensionPixelSize( R.dimen.dynamic_grid_min_page_indicator_size); pageIndicatorLandGutterPx = res.getDimensionPixelSize( @@ -513,7 +515,7 @@ public class DeviceProfile { // In portrait, we want the pages spaced such that there is no // overhang of the previous / next page into the current page viewport. // We assume symmetrical padding in portrait mode. - return Math.max(defaultPageSpacingPx, getWorkspacePadding(null).left / 2 + 1); + return Math.max(defaultPageSpacingPx, getWorkspacePadding(null).left + 1); } } @@ -564,7 +566,7 @@ public class DeviceProfile { lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); lp.width = searchBarBounds.x; lp.height = searchBarBounds.y; - lp.topMargin = mInsets.top + edgeMarginPx / 2; + lp.topMargin = mInsets.top + edgeMarginPx; searchBar.setLayoutParams(lp); // Layout the workspace @@ -615,6 +617,7 @@ public class DeviceProfile { hotseatBarTopPaddingPx, hotseatAdjustment + workspacePadding.right, hotseatBarBottomPaddingPx + mInsets.bottom); } + hotseat.setPadding(cellLayoutPaddingLeftRightPx, 0, cellLayoutPaddingLeftRightPx, 0); hotseat.setLayoutParams(lp); // Layout the page indicators @@ -652,7 +655,7 @@ public class DeviceProfile { // Layout the AllAppsRecyclerView View view = launcher.findViewById(R.id.apps_list_view); - int paddingLeftRight = hasVerticalBarLayout ? 0 : edgeMarginPx; + int paddingLeftRight = desiredWorkspaceLeftRightMarginPx + cellLayoutPaddingLeftRightPx; view.setPadding(paddingLeftRight, view.getPaddingTop(), paddingLeftRight, view.getPaddingBottom()); diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index f9dc796fdf..0d7e4fa569 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -666,6 +666,10 @@ public class Workspace extends PagedView newScreen.setOnLongClickListener(mLongClickListener); newScreen.setOnClickListener(mLauncher); newScreen.setSoundEffectsEnabled(false); + + int paddingLeftRight = mLauncher.getDeviceProfile().cellLayoutPaddingLeftRightPx; + newScreen.setPadding(paddingLeftRight, 0, paddingLeftRight, 0); + mWorkspaceScreens.put(screenId, newScreen); mScreenOrder.add(insertIndex, screenId); addView(newScreen, insertIndex);