工作中遇到一个小需求,写开发红包的动画。
中间白色区域有一个向上的动画。
这里我们采用valueAnimaiton动画来实现。
public void startValueAnimation(final View view) {
ValueAnimator animator = ValueAnimator.ofFloat(-50f, 0f);
animator.setTarget(view);
animator.setDuration(500);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float mValue = (float)animation.getAnimatedValue();
view.setTranslationY(mValue);
// view.setTranslationY(mValue);
}
});
animator.start();
}
细细研读代码,还是比较清晰的。如果view.setTranslationX和setTranslationY同时设置的话,则按照对角线来运动了。