Android 自定义View制作随时间增长的平滑进度条
在做一个短视频录制的项目中,需要一个平滑增加的进度条,开始的想法是做系统自带的进度条然后把最大进度设置到非常大实现,但实际上有点达不到效果,所以就用自定义View的方式来实现。
基本思路:
利用View自带的invalidate()函数,重复调用onDraw()函数来进行进度条的变化。
在onDraw()中利用
System.currentTimeMillis();
获取上一次调用onDraw的时间和这次时间得出一个时间差,根据时间差利用
canvas.drawRect(0,0,countWidth,getMeasuredHeight(),progressPaint);
重新绘制一个长度的矩形,作为进度条的进度