问题描述
我有一个动画 setText 显示。我从 JSON 响应中获取字符串值并使用 valueAnimator 显示它。
我需要将最终的 setText 格式化为 1000s 格式 (#,###)
例如
目前我得到:50125
预期:50,125
DecimalFormat decim = new DecimalFormat("#,###");
//Total no animate
ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0,Integer.parseInt(total_no));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
tvtotal_no.setText(String.valueOf(animation.getAnimatedValue()));
//tvtotal_no.setText(decim.format(Integer.parseInt(total_cases)));
}
});
animator.setDuration(500);
animator.start();
解决方法
您需要实际使用 DecimalFormat:
DecimalFormat decim = new DecimalFormat("#,###");
//Total no animate
ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0,Integer.parseInt(total_no));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
tvtotal_no.setText(decim.format(animation.getAnimatedValue()));
}
});
animator.setDuration(500);
animator.start();