【发布时间】:2017-06-22 09:18:34
【问题描述】:
我正在尝试对数字从零到第 n 个数字的递增行为进行动画处理。 ValueAnimator 适用于整数值,但我尝试使用浮点值进行此操作,但它会因ClassCastException 而崩溃。
例外:
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();
我需要做哪些更改才能使其适用于浮点值?谢谢!
【问题讨论】:
-
您是否尝试过使用 FloatEvaluator 而不是 TypeEvaluator? developer.android.com/reference/android/animation/…
-
animator.setEvaluator() 使用浮点数而不是整数。
标签: java android android-animation