Flash scroll indicators a bit earlier on transitions

Change-Id: I456b61480299b1177d9d275f2cb4459bab02d63e
This commit is contained in:
Michael Jurka
2011-08-08 15:52:14 -07:00
parent c29c8462b1
commit 430e8a5f5b
3 changed files with 19 additions and 9 deletions
+13 -7
View File
@@ -323,7 +323,7 @@ public abstract class PagedView extends ViewGroup {
// a method that subclasses can override to add behavior
protected void onPageBeginMoving() {
showScrollingIndicator();
showScrollingIndicator(false);
}
// a method that subclasses can override to add behavior
@@ -478,6 +478,8 @@ public abstract class PagedView extends ViewGroup {
mMaxScrollX = 0;
}
updateScrollingIndicatorPosition();
setMeasuredDimension(widthSize, heightSize);
}
@@ -1685,11 +1687,11 @@ public abstract class PagedView extends ViewGroup {
};
protected void flashScrollingIndicator() {
removeCallbacks(hideScrollingIndicatorRunnable);
showScrollingIndicator();
showScrollingIndicator(false);
postDelayed(hideScrollingIndicatorRunnable, sScrollIndicatorFlashDuration);
}
protected void showScrollingIndicator() {
protected void showScrollingIndicator(boolean immediately) {
if (getChildCount() <= 1) return;
if (!isScrollingIndicatorEnabled()) return;
@@ -1701,9 +1703,13 @@ public abstract class PagedView extends ViewGroup {
if (mScrollIndicatorAnimator != null) {
mScrollIndicatorAnimator.cancel();
}
mScrollIndicatorAnimator = ObjectAnimator.ofFloat(mScrollIndicator, "alpha", 1f);
mScrollIndicatorAnimator.setDuration(sScrollIndicatorFadeInDuration);
mScrollIndicatorAnimator.start();
if (immediately) {
mScrollIndicator.setAlpha(1f);
} else {
mScrollIndicatorAnimator = ObjectAnimator.ofFloat(mScrollIndicator, "alpha", 1f);
mScrollIndicatorAnimator.setDuration(sScrollIndicatorFadeInDuration);
mScrollIndicatorAnimator.start();
}
}
}
@@ -1762,7 +1768,7 @@ public abstract class PagedView extends ViewGroup {
private void updateScrollingIndicatorPosition() {
if (!isScrollingIndicatorEnabled()) return;
if (mScrollIndicator == null) return;
int numPages = getChildCount();
int pageWidth = getMeasuredWidth();
int maxPageWidth = (numPages * getChildWidth(0)) + ((numPages - 1) * mPageSpacing);