use of com.nineoldandroids.animation.ValueAnimator in project Carbon by ZieIony.
the class CheckableDrawable method setChecked.
public void setChecked(CheckedState state) {
if (checkedState == state)
return;
if (checkedState == CheckedState.UNCHECKED) {
if (state == CheckedState.CHECKED) {
Animator fill = animateFill();
fill.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
animateCheck().start();
}
});
fill.start();
} else {
animateFill().start();
}
}
if (checkedState == CheckedState.CHECKED) {
if (state == CheckedState.UNCHECKED) {
ValueAnimator check = animateCheck();
check.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
animateFill().reverse();
}
});
check.reverse();
} else {
animateCheck().reverse();
}
}
if (checkedState == CheckedState.INDETERMINATE) {
if (state == CheckedState.CHECKED) {
animateCheck().start();
} else {
animateFill().reverse();
}
}
checkedState = state;
invalidateSelf();
}
use of com.nineoldandroids.animation.ValueAnimator in project Carbon by ZieIony.
the class CoordinatorLayout method setVisibility.
public void setVisibility(final int visibility) {
if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (inAnim != AnimUtils.Style.None) {
animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
animator = null;
clearAnimation();
}
});
}
super.setVisibility(visibility);
} else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (outAnim == AnimUtils.Style.None) {
super.setVisibility(visibility);
return;
}
animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
if (((ValueAnimator) a).getAnimatedFraction() == 1)
CoordinatorLayout.super.setVisibility(visibility);
animator = null;
clearAnimation();
}
});
}
}
use of com.nineoldandroids.animation.ValueAnimator in project Carbon by ZieIony.
the class DefaultItemAnimator method animateMoveImpl.
private void animateMoveImpl(final RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY) {
final View view = holder.itemView;
final int deltaX = toX - fromX;
final int deltaY = toY - fromY;
// TODO: make EndActions end listeners instead, since end actions aren't called when
// vpas are canceled (and can't end them. why?)
// need listener functionality in VPACompat for this. Ick.
final ValueAnimator animation = ValueAnimator.ofFloat(0, 1);
mMoveAnimations.add(holder);
animation.setDuration(getMoveDuration());
final float startX = ViewHelper.getTranslationX(view);
final float startY = ViewHelper.getTranslationY(view);
animation.addUpdateListener(__ -> {
ViewHelper.setTranslationX(view, MathUtils.lerp(startX, 0, (Float) animation.getAnimatedValue()));
ViewHelper.setTranslationY(view, MathUtils.lerp(startY, 0, (Float) animation.getAnimatedValue()));
});
animation.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
dispatchMoveStarting(holder);
}
@Override
public void onAnimationCancel(Animator animation) {
if (deltaX != 0) {
ViewHelper.setTranslationX(view, 0);
}
if (deltaY != 0) {
ViewHelper.setTranslationY(view, 0);
}
}
@Override
public void onAnimationEnd(Animator animation) {
dispatchMoveFinished(holder);
mMoveAnimations.remove(holder);
dispatchFinishedWhenDone();
}
});
animation.start();
}
use of com.nineoldandroids.animation.ValueAnimator in project Carbon by ZieIony.
the class AppBarLayout method setVisibility.
public void setVisibility(final int visibility) {
if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (inAnim != AnimUtils.Style.None) {
animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
animator = null;
clearAnimation();
}
});
}
super.setVisibility(visibility);
} else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (outAnim == AnimUtils.Style.None) {
super.setVisibility(visibility);
return;
}
animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
if (((ValueAnimator) a).getAnimatedFraction() == 1)
AppBarLayout.super.setVisibility(visibility);
animator = null;
clearAnimation();
}
});
}
}
use of com.nineoldandroids.animation.ValueAnimator in project Carbon by ZieIony.
the class CollapsingToolbarLayout method setVisibility.
public void setVisibility(final int visibility) {
if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (inAnim != AnimUtils.Style.None) {
animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
animator = null;
clearAnimation();
}
});
}
super.setVisibility(visibility);
} else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
if (animator != null)
animator.cancel();
if (outAnim == AnimUtils.Style.None) {
super.setVisibility(visibility);
return;
}
animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator a) {
if (((ValueAnimator) a).getAnimatedFraction() == 1)
CollapsingToolbarLayout.super.setVisibility(visibility);
animator = null;
clearAnimation();
}
});
}
}
Aggregations