關於ValueAnimator無作用

一直想用ValueAnimator做數值變化,但都沒作用。

代碼如下:

private void testValueAnimation(){
ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 100);
valueAnimator.setDuration(1000);
valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
valueAnimator.addUpdateListener(new AnimatorUpdateListener() {

@Override
public void onAnimationUpdate(ValueAnimator animation) {
Log.i(TAG, "onAnimationUpdate = " + (Float)animation.getAnimatedValue());
}
});
valueAnimator.start();
}

打印只有0.0和100.0,並沒有中間變化值。

經查找,在工廠設置裏設置“動畫程序時長”爲非關閉狀態即可。

原因是ValueAnimator是Android用來做動畫的選項,因爲所有的Animator都有一個Interpolator(默認是AccelerateDecelerateInterpolator),而setInterpolator傳入的值是TimeInterpolator,即“動畫程序時長”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章