通常動(dòng)畫的速度通過(guò)插值器或者估值器實(shí)現(xiàn)
但是這種實(shí)現(xiàn)方法要有一定的數(shù)學(xué)功底,所以可以跟跟H5那樣,關(guān)鍵幀實(shí)現(xiàn)動(dòng)畫的速度
// 1. 創(chuàng)建Keyframe實(shí)例
// 參數(shù)1為該關(guān)鍵幀處于動(dòng)畫的執(zhí)行百分比
// 參數(shù)2為該關(guān)鍵字的動(dòng)畫屬性值
Keyframe keyframe_0 = Keyframe.ofFloat(0f, 0f);
Keyframe keyframe_1 = Keyframe.ofFloat(0.5f, 360f);
Keyframe keyframe_2 = Keyframe.ofFloat(1f, 0f);
// 設(shè)置Keyframe的插值器
keyframe_1.setInterpolator(new LinearInterpolator());
keyframe_2.setInterpolator(new AccelerateDecelerateInterpolator());
// 2. 創(chuàng)建PropertyValuesHolder對(duì)象
PropertyValuesHolder holder = PropertyValuesHolder.ofKeyframe(PropertyConstant.PROPERTY_ROTATION, keyframe_0, keyframe_1, keyframe_2);
// 3. 創(chuàng)建ValueAnimator實(shí)例
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(btnProperty, holder);
animator.setDuration(5000);
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.start();