diff options
author | Winson Chung <winsonc@google.com> | 2013-07-18 15:18:25 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2013-07-18 15:18:25 -0700 |
commit | 5bc865e787b51ebbdebb14bf1eefc3a91f5f7c8d (patch) | |
tree | dee52677ea4215c83329be45b30c557883048afe /src/com/android/launcher3/PageIndicatorMarker.java | |
parent | ea6772346e80bc9da677c0d3a7955b6b9ed953bb (diff) | |
download | android_packages_apps_Trebuchet-5bc865e787b51ebbdebb14bf1eefc3a91f5f7c8d.tar.gz android_packages_apps_Trebuchet-5bc865e787b51ebbdebb14bf1eefc3a91f5f7c8d.tar.bz2 android_packages_apps_Trebuchet-5bc865e787b51ebbdebb14bf1eefc3a91f5f7c8d.zip |
Adding workaround for page indicators to support many pages.
- Tweaking assets until we get something proper
Change-Id: Ie07946acb529ff747d76896ff38837f8db6a7258
Diffstat (limited to 'src/com/android/launcher3/PageIndicatorMarker.java')
-rw-r--r-- | src/com/android/launcher3/PageIndicatorMarker.java | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/src/com/android/launcher3/PageIndicatorMarker.java b/src/com/android/launcher3/PageIndicatorMarker.java index 852ee518f..f64c14fdc 100644 --- a/src/com/android/launcher3/PageIndicatorMarker.java +++ b/src/com/android/launcher3/PageIndicatorMarker.java @@ -16,6 +16,7 @@ package com.android.launcher3; +import android.animation.AnimatorListenerAdapter; import android.animation.LayoutTransition; import android.content.Context; import android.util.AttributeSet; @@ -29,10 +30,11 @@ public class PageIndicatorMarker extends FrameLayout { @SuppressWarnings("unused") private static final String TAG = "PageIndicator"; - private static final int MARKER_FADE_DURATION = 150; + private static final int MARKER_FADE_DURATION = 175; private View mActiveMarker; private View mInactiveMarker; + private boolean mIsActive = false; public PageIndicatorMarker(Context context) { this(context, null); @@ -51,16 +53,36 @@ public class PageIndicatorMarker extends FrameLayout { mInactiveMarker = findViewById(R.id.inactive); } - public void activate() { - mActiveMarker.animate().alpha(1f) - .setDuration(MARKER_FADE_DURATION).start(); - mInactiveMarker.animate().alpha(0f) - .setDuration(MARKER_FADE_DURATION).start(); + void activate(boolean immediate) { + if (immediate) { + mActiveMarker.animate().cancel(); + mActiveMarker.setAlpha(1f); + mInactiveMarker.animate().cancel(); + mInactiveMarker.setAlpha(0f); + } else { + mActiveMarker.animate().alpha(1f) + .setDuration(MARKER_FADE_DURATION).start(); + mInactiveMarker.animate().alpha(0f) + .setDuration(MARKER_FADE_DURATION).start(); + } + mIsActive = true; } - public void inactivate() { - mInactiveMarker.animate().alpha(1f) - .setDuration(MARKER_FADE_DURATION).start(); - mActiveMarker.animate().alpha(0f) - .setDuration(MARKER_FADE_DURATION).start(); + void inactivate(boolean immediate) { + if (immediate) { + mInactiveMarker.animate().cancel(); + mInactiveMarker.setAlpha(1f); + mActiveMarker.animate().cancel(); + mActiveMarker.setAlpha(0f); + } else { + mInactiveMarker.animate().alpha(1f) + .setDuration(MARKER_FADE_DURATION).start(); + mActiveMarker.animate().alpha(0f) + .setDuration(MARKER_FADE_DURATION).start(); + } + mIsActive = false; + } + + boolean isActive() { + return mIsActive; } } |