Android中的动画
一,
//参数一: 设置作用在那个控件上
//参数二: 设置执行什么动画
//参数三: 值(可变参数),当前这个例子代表选择0,90,270度
ObjectAnimator animator = ObjectAnimator.ofFloat(mIvIcon, "rotationY", 0f, 90f, 270f, 360f);
animator.setRepeatCount(ObjectAnimator.INFINITE);
animator.setDuration(1000);
animator.setRepeatMode(ObjectAnimator.REVERSE);
animator.start();
二,
ValueAnimator,在时间段内从一个值到另一个值,通常使用在处理动画中
ValueAnimator valueAnimator = ValueAnimator.ofInt(-150, 0);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int marginTop = (int) animation.getAnimatedValue();
ViewGroup.LayoutParams params = mMoreLayout.getLayoutParams();
((ViewGroup.MarginLayoutParams) params).setMargins(0, marginTop, 0, 0);
mMoreLayout.requestLayout();
}
});
valueAnimator.setDuration(1000);
valueAnimator.start();