am 1d7b3dc1: Merge "Make LayoutTransition.setInterpolator() actually do something" into klp-dev
* commit '1d7b3dc126a493bec79df3e759a8391040e6a308': Make LayoutTransition.setInterpolator() actually do something
This commit is contained in:
@@ -190,14 +190,26 @@ public class LayoutTransition {
|
|||||||
private long mChangingDisappearingStagger = 0;
|
private long mChangingDisappearingStagger = 0;
|
||||||
private long mChangingStagger = 0;
|
private long mChangingStagger = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Static interpolators - these are stateless and can be shared across the instances
|
||||||
|
*/
|
||||||
|
private static TimeInterpolator ACCEL_DECEL_INTERPOLATOR =
|
||||||
|
new AccelerateDecelerateInterpolator();
|
||||||
|
private static TimeInterpolator DECEL_INTERPOLATOR = new DecelerateInterpolator();
|
||||||
|
private static TimeInterpolator sAppearingInterpolator = ACCEL_DECEL_INTERPOLATOR;
|
||||||
|
private static TimeInterpolator sDisappearingInterpolator = ACCEL_DECEL_INTERPOLATOR;
|
||||||
|
private static TimeInterpolator sChangingAppearingInterpolator = DECEL_INTERPOLATOR;
|
||||||
|
private static TimeInterpolator sChangingDisappearingInterpolator = DECEL_INTERPOLATOR;
|
||||||
|
private static TimeInterpolator sChangingInterpolator = DECEL_INTERPOLATOR;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default interpolators used for the animations
|
* The default interpolators used for the animations
|
||||||
*/
|
*/
|
||||||
private TimeInterpolator mAppearingInterpolator = new AccelerateDecelerateInterpolator();
|
private TimeInterpolator mAppearingInterpolator = sAppearingInterpolator;
|
||||||
private TimeInterpolator mDisappearingInterpolator = new AccelerateDecelerateInterpolator();
|
private TimeInterpolator mDisappearingInterpolator = sDisappearingInterpolator;
|
||||||
private TimeInterpolator mChangingAppearingInterpolator = new DecelerateInterpolator();
|
private TimeInterpolator mChangingAppearingInterpolator = sChangingAppearingInterpolator;
|
||||||
private TimeInterpolator mChangingDisappearingInterpolator = new DecelerateInterpolator();
|
private TimeInterpolator mChangingDisappearingInterpolator = sChangingDisappearingInterpolator;
|
||||||
private TimeInterpolator mChangingInterpolator = new DecelerateInterpolator();
|
private TimeInterpolator mChangingInterpolator = sChangingInterpolator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These hashmaps are used to store the animations that are currently running as part of
|
* These hashmaps are used to store the animations that are currently running as part of
|
||||||
@@ -905,14 +917,24 @@ public class LayoutTransition {
|
|||||||
case APPEARING:
|
case APPEARING:
|
||||||
startDelay = mChangingAppearingDelay + staggerDelay;
|
startDelay = mChangingAppearingDelay + staggerDelay;
|
||||||
staggerDelay += mChangingAppearingStagger;
|
staggerDelay += mChangingAppearingStagger;
|
||||||
|
if (mChangingAppearingInterpolator != sChangingAppearingInterpolator) {
|
||||||
|
anim.setInterpolator(mChangingAppearingInterpolator);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DISAPPEARING:
|
case DISAPPEARING:
|
||||||
startDelay = mChangingDisappearingDelay + staggerDelay;
|
startDelay = mChangingDisappearingDelay + staggerDelay;
|
||||||
staggerDelay += mChangingDisappearingStagger;
|
staggerDelay += mChangingDisappearingStagger;
|
||||||
|
if (mChangingDisappearingInterpolator !=
|
||||||
|
sChangingDisappearingInterpolator) {
|
||||||
|
anim.setInterpolator(mChangingDisappearingInterpolator);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CHANGING:
|
case CHANGING:
|
||||||
startDelay = mChangingDelay + staggerDelay;
|
startDelay = mChangingDelay + staggerDelay;
|
||||||
staggerDelay += mChangingStagger;
|
staggerDelay += mChangingStagger;
|
||||||
|
if (mChangingInterpolator != sChangingInterpolator) {
|
||||||
|
anim.setInterpolator(mChangingInterpolator);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
anim.setStartDelay(startDelay);
|
anim.setStartDelay(startDelay);
|
||||||
@@ -1148,6 +1170,9 @@ public class LayoutTransition {
|
|||||||
anim.setTarget(child);
|
anim.setTarget(child);
|
||||||
anim.setStartDelay(mAppearingDelay);
|
anim.setStartDelay(mAppearingDelay);
|
||||||
anim.setDuration(mAppearingDuration);
|
anim.setDuration(mAppearingDuration);
|
||||||
|
if (mAppearingInterpolator != sAppearingInterpolator) {
|
||||||
|
anim.setInterpolator(mAppearingInterpolator);
|
||||||
|
}
|
||||||
if (anim instanceof ObjectAnimator) {
|
if (anim instanceof ObjectAnimator) {
|
||||||
((ObjectAnimator) anim).setCurrentPlayTime(0);
|
((ObjectAnimator) anim).setCurrentPlayTime(0);
|
||||||
}
|
}
|
||||||
@@ -1192,6 +1217,9 @@ public class LayoutTransition {
|
|||||||
Animator anim = mDisappearingAnim.clone();
|
Animator anim = mDisappearingAnim.clone();
|
||||||
anim.setStartDelay(mDisappearingDelay);
|
anim.setStartDelay(mDisappearingDelay);
|
||||||
anim.setDuration(mDisappearingDuration);
|
anim.setDuration(mDisappearingDuration);
|
||||||
|
if (mDisappearingInterpolator != sDisappearingInterpolator) {
|
||||||
|
anim.setInterpolator(mDisappearingInterpolator);
|
||||||
|
}
|
||||||
anim.setTarget(child);
|
anim.setTarget(child);
|
||||||
final float preAnimAlpha = child.getAlpha();
|
final float preAnimAlpha = child.getAlpha();
|
||||||
anim.addListener(new AnimatorListenerAdapter() {
|
anim.addListener(new AnimatorListenerAdapter() {
|
||||||
|
|||||||
Reference in New Issue
Block a user