標籤:
一說到動態遞增設定TextView值,非常多人應該立即就想到起個線程,讓後線上程中睡眠指定時間,使用handler發送訊息更新TextView值!
這樣是實現了動態遞增設定TextView值可是效率不咋滴吧,須要的話能夠自己去試試,如1到100,10s內顯示完,會感覺到有點卡的。
這裡有個更好的方法,使用ValueAnimator進行設定,並且不須要自己去計算每次疊加後須要間隔的時間,以下是代碼:
public static void autoIncrement(final TextView target, final float start,final float end, long duration) {ValueAnimator animator = ValueAnimator.ofFloat(start, end);animator.addUpdateListener(new AnimatorUpdateListener() {private FloatEvaluator evalutor = new FloatEvaluator();private DecimalFormat format = new DecimalFormat("####0.0#");@Overridepublic void onAnimationUpdate(ValueAnimator animation) {float fraction = animation.getAnimatedFraction();float currentValue = evalutor.evaluate(fraction, start, end);target.setText(format.format(currentValue));}});animator.setDuration(duration);animator.start();}
在2s內顯示1-1000的值。顯示很流暢。不信能夠自己試試!
android 動態設定TextView值,例:金額添加