Android 绘制动画(波浪动画/轨迹动画/PathMeasure)
发布时间:2018-03-28 17:07,
浏览次数:562
, 标签:
Android
PathMeasure
Android 绘制动画(波浪动画/轨迹动画/PathMeasure)
本文由 Luzhuo 编写,转发请保留该信息.
原文: https://blog.csdn.net/rozol/article/details/79730582
绘制动画, 由Android的绘画功能 + 属性动画 组成的一种动画
主要方法
* valueAnimator.addUpdateListener(AnimatorUpdateListener) // 监听动画数值更新
*
估值器
ValueAnimator.ofObject(new TypeEvaluator() { @Override public PointF
evaluate(float fraction, PointF startValue, PointF endValue) { //
fraction(时间因子[0,1]), startValue(开始值), endValue(结束值) return null; // 返回计算结果值 }
});
波浪动画
*
原理: 通过动画计算的数值, 不断将波浪右移.
*
代码
protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPath.reset();
mPath.moveTo(-waveLength + offset, centerY);// 绘制2个贝塞尔曲线 for (int i = 0; i <
waveCount; i++){ mPath.quadTo( - waveLength *3 / 4 + i * waveLength + offset,
centerY +60, - waveLength / 2 + i * waveLength + offset, centerY);
mPath.quadTo( - waveLength /4 + i * waveLength + offset, centerY - 60, i *
waveLength + offset, centerY); }// 封闭波浪 mPath.lineTo(screenWidth,
screenHeight); mPath.lineTo(0, screenHeight); mPath.close();
canvas.drawPath(mPath, mPaintBezier); }public void onClick(View v) { //