summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/PageIndicatorMarker.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2013-07-18 15:18:25 -0700
committerWinson Chung <winsonc@google.com>2013-07-18 15:18:25 -0700
commit5bc865e787b51ebbdebb14bf1eefc3a91f5f7c8d (patch)
treedee52677ea4215c83329be45b30c557883048afe /src/com/android/launcher3/PageIndicatorMarker.java
parentea6772346e80bc9da677c0d3a7955b6b9ed953bb (diff)
downloadandroid_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.java44
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;
}
}