ゼロからn番目の数値まで増加する動作をアニメートしようとしています。 ValueAnimatorは整数値で動作しますが、浮動小数点値でこれを試みて、ClassCastException
でクラッシュします。ValueAnimatorで浮動小数点値を使用すると例外が発生します
例外:
とjava.lang.ClassCastException:java.lang.Floatのはjava.lang.Integerの
にキャストすることはできません
コード:
ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0, 100.2f);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
tvTotalAmount.setText("100.2");
}
});
animator.setEvaluator(new TypeEvaluator<Integer>() {
public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
return Math.round(startValue + (endValue - startValue) * fraction);
}
});
animator.setDuration(1500);
animator.start();
浮動小数点値に対してこの機能を実行するには、どのような変更が必要ですか?ありがとう!
TypeEvaluatorではなくFloatEvaluatorを使用してみましたか? – khriskooper
animator.setEvaluator()整数の代わりに浮動小数点数を使用します。 –