属性动画的使用
- 属性动画主要有两个类ValueAnimator和ObjectAnimator
- ValueAnimator类下有三个方法,分别是:
ValueAnimator.ofInt()、ValueAnimator.oFloat()、ValueAnimator.ofObject()
- ValueAnimator.ofInt()的使用:
'''// 步骤1:设置属性数值的初始值和结束值'''
ValueAnimator valueAnimator = ValueAnimator.ofInt(button.getLayoutParams().width, 500);
'''//步骤2:设置动画的各种属性:设置动画运行时长:2s'''
valueAnimator.setDuration(2000);
'''//步骤3:设置更新监听器:即数值每次变化更新都会调用该方法'''
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int currentValue = (Integer) animation.getAnimatedValue();
// 获得每次变化后的属性值
Log.e("qwe", currentValue + "--------");
// 输出每次变化后的属性值进行查看
button.getLayoutParams().width = currentValue;
// 每次值变化时,将值手动赋值给对象的属性
// 即将每次变化后的值 赋 给按钮的宽度,这样就实现了按钮宽度属性的动态
'''// 步骤4:刷新视图,即重新绘制,从而实现动画效果'''
button.requestLayout();
}
});
'''//步骤5:开始动画'''
valueAnimator.start();