我希望创建一个应用程序,可以从麦克风录制声音并在CustomView中可视化(类似于这个视频)。录制功能很好用,我也可以获得录制声音的振幅,因此可以使用以下代码在屏幕上绘制矩形:
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
int h = getMeasuredHeight();
for(int i=0; i < soundData.size(); i++)
{
double data = soundData.get(i);
canvas.drawRect(15 + 8 * i, (int) (h - data), 21 + 8 * i, h, paint);
}
}
但这看起来并不太好,因为矩形会突然出现。在上面的视频中使用了漂亮的动画来将振幅绘制到屏幕上。我该如何在我的CustomView中实现类似的效果?我需要使用哪种动画类型,以及我应该如何绘制它呢?