/**
* 开启动画
*/
private void startAnimation() {
if (mValueAnimator != null) {
mValueAnimator.cancel();
}
final float targetTempLength = mTargetTempPathMeasure.getLength();
final float roomTempLength = mRoomTempPathMeasure.getLength();
mValueAnimator = ValueAnimator.ofFloat(1, 0);
mValueAnimator.setDuration(ANIM_DURATION);
// 减速插值器
mValueAnimator.setInterpolator(new DecelerateInterpolator());
mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float fraction = (Float) animation.getAnimatedValue();
// 更新mtargetTempEffect
mtargetTempEffect = new DashPathEffect(new float[]{
targetTempLength, targetTempLength}, fraction
* targetTempLength);
targetTempPaint.setPathEffect(mtargetTempEffect);
// 更新mRoomTempEffect
mRoomTempEffect = new DashPathEffect(new float[]{
roomTempLength, roomTempLength}, fraction
* roomTempLength);
roomTempPaint.setPathEffect(mRoomTempEffect);
// 更新rect绘制fraction进度
mRectFration = 1 - fraction;// fraction是1->0 我们需要的柱形图绘制比例是0->1
postInvalidate();
}
});
mValueAnimator.start();
}
HistoryChartView.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:YiZhi
作者:
评论列表
文章目录