diff options
author | Adam Cohen <adamcohen@google.com> | 2013-11-11 18:49:56 +0000 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2013-11-11 18:50:56 +0000 |
commit | 84a465aa0e795619b248047c5e21cd77c82b1ff1 (patch) | |
tree | da883f72ec90e0120925673ab8cfa64d9b2ae6d3 /src/com/android/launcher3/PagedView.java | |
parent | ab087b9fbc56c78bf25a06068ff929f8a7ac7ae8 (diff) | |
download | android_packages_apps_Trebuchet-84a465aa0e795619b248047c5e21cd77c82b1ff1.tar.gz android_packages_apps_Trebuchet-84a465aa0e795619b248047c5e21cd77c82b1ff1.tar.bz2 android_packages_apps_Trebuchet-84a465aa0e795619b248047c5e21cd77c82b1ff1.zip |
Small tweaks to custom content management
-> Never allow the custom content overhang onto the viewport when
it is not the current page
-> Never fade the custom content screen as a consequence of scrolling
Change-Id: I91a4cfb3f740ee8b429084fce1c96258bac8dd9e
Diffstat (limited to 'src/com/android/launcher3/PagedView.java')
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 7b5662523..3eecedbcc 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -902,6 +902,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc int verticalPadding = getPaddingTop() + getPaddingBottom(); LayoutParams lp = (LayoutParams) getChildAt(startIndex).getLayoutParams(); + LayoutParams nextLp; int childLeft = offsetX + (lp.isFullScreenPage ? 0 : getPaddingLeft()); if (mPageScrolls == null || getChildCount() != mChildCountOnLastLayout) { @@ -931,7 +932,24 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc int scrollOffsetLeft = lp.isFullScreenPage ? 0 : getPaddingLeft(); mPageScrolls[i] = childLeft - scrollOffsetLeft - offsetX; - childLeft += childWidth + mPageSpacing; + + int pageGap = mPageSpacing; + int next = i + delta; + if (next != endIndex) { + nextLp = (LayoutParams) getPageAt(next).getLayoutParams(); + } else { + nextLp = null; + } + + // Prevent full screen pages from showing in the viewport + // when they are not the current page. + if (lp.isFullScreenPage) { + pageGap = getPaddingLeft(); + } else if (nextLp != null && nextLp.isFullScreenPage) { + pageGap = getPaddingRight(); + } + + childLeft += childWidth + pageGap; } } |