/**
*@param target 用于显示文字的textView
*@param start 起始数值(递增动画起始数值)
*@param end 当前数值(递增动画结束数值)
*@param duration 动画持续时间
*@param scale 小数点后保留几位小数
*/
public void autoIncrement(TextView target,float start,float end, long duration , int scale) {
ValueAnimator animator = ValueAnimator.ofFloat (start, end);
animator.addUpdateListener( new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
String temp = "###,###,###,###,###,###,###,##0" ;
if ( scale > 0 )
temp += ".";
for ( int i = 0 ; i < scale ; i++)
temp += "0";
FloatEvaluator evalutor = new FloatEvaluator();
DecimalFormat format = new DecimalFormat(temp);
float fraction = valueAnimator.getAnimatedFraction() ;
float currentValue = evalutor.evaluate(fraction , start, end);
target .setText(format.format(currentValue)) ;
}
});
animator.setDuration(duration) ;
animator.start() ;
}
TextView文本数值保留一位小数,并显示递增动画(0~当前数值)
最新推荐文章于 2021-05-27 10:11:25 发布