summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2011-09-13 18:08:54 -0700
committerWinson Chung <winsonc@google.com>2011-09-13 18:13:32 -0700
commitae890b85dfbcdef592f4a97cca819922a07a83ca (patch)
tree39a441800dd003510bff406e5eab5ca439b20e22 /src
parent6027705e8c4713daabe63d049d71f9acdf972244 (diff)
downloadandroid_packages_apps_Trebuchet-ae890b85dfbcdef592f4a97cca819922a07a83ca.tar.gz
android_packages_apps_Trebuchet-ae890b85dfbcdef592f4a97cca819922a07a83ca.tar.bz2
android_packages_apps_Trebuchet-ae890b85dfbcdef592f4a97cca819922a07a83ca.zip
Disable fading of side pages on phones. (5270754)
- Fixing small issue with scroll bars not aligning properly. Change-Id: I000c0b7a26d7e6295d131646be81491a357ffdce
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/PagedView.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 2b5847bde..4fdb198d1 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -475,15 +475,17 @@ public abstract class PagedView extends ViewGroup {
if (heightMode == MeasureSpec.AT_MOST) {
heightSize = maxChildHeight + verticalPadding;
}
+
+ updateScrollingIndicatorPosition();
+
+ setMeasuredDimension(widthSize, heightSize);
+
+ // We can't call getChildOffset/getRelativeChildOffset until we set the measured dimensions
if (childCount > 0) {
mMaxScrollX = getChildOffset(childCount - 1) - getRelativeChildOffset(childCount - 1);
} else {
mMaxScrollX = 0;
}
-
- updateScrollingIndicatorPosition();
-
- setMeasuredDimension(widthSize, heightSize);
}
protected void scrollToNewPageWithoutMovingPages(int newCurrentPage) {
@@ -553,6 +555,11 @@ public abstract class PagedView extends ViewGroup {
if (DEBUG) Log.d(TAG, "getRelativeChildOffset(): " + getMeasuredWidth() + ", "
+ getChildWidth(0));
childLeft = getRelativeChildOffset(0);
+
+ // Calculate the variable page spacing if necessary
+ if (mPageSpacing < 0) {
+ mPageSpacing = ((right - left) - getChildAt(0).getMeasuredWidth()) / 2;
+ }
}
for (int i = 0; i < childCount; i++) {
@@ -1818,16 +1825,15 @@ public abstract class PagedView extends ViewGroup {
if (mScrollIndicator == null) return;
int numPages = getChildCount();
int pageWidth = getMeasuredWidth();
- int maxPageWidth = (numPages * getChildWidth(0)) + ((numPages - 1) * mPageSpacing);
- int maxScrollPosition = maxPageWidth - pageWidth; // n-1 * pageWidth
+ int lastChildIndex = Math.max(0, getChildCount() - 1);
+ int maxScrollX = getChildOffset(lastChildIndex) - getRelativeChildOffset(lastChildIndex);
int trackWidth = pageWidth - mScrollIndicatorPaddingLeft - mScrollIndicatorPaddingRight;
int indicatorWidth = mScrollIndicator.getMeasuredWidth() -
mScrollIndicator.getPaddingLeft() - mScrollIndicator.getPaddingRight();
- float offset = (float) Math.max(0f, Math.min(maxScrollPosition, getScrollX()))
- / maxPageWidth;
+ float offset = Math.max(0f, Math.min(1f, (float) getScrollX() / maxScrollX));
int indicatorSpace = trackWidth / numPages;
- int indicatorPos = (int) (offset * trackWidth) + mScrollIndicatorPaddingLeft;
+ int indicatorPos = (int) (offset * (trackWidth - indicatorSpace)) + mScrollIndicatorPaddingLeft;
if (hasElasticScrollIndicator()) {
if (mScrollIndicator.getMeasuredWidth() != indicatorSpace) {
mScrollIndicator.getLayoutParams().width = indicatorSpace;