公司要求做个心电图,昨天就写了下,原谅我懒得弄视频了,看图:
点击开始开始绘制,绘制屏满后,曲线向左移,点击停止则停止绘制。
首先自定义View,WaveShowView,重写其onLayout,onDraw方法,注释写的很清楚了:
public class WaveShowView extends View {
private float mWidth = 0,mHeight = 0;//自身大小
private int mBackGroundColor = Color.BLACK;
private Paint mLinePaint;//画笔
private Paint mWavePaint;//心电图的折现
private Path mPath;//心电图的路径
private ArrayList refreshList = new ArrayList();//后加的数据点
private int row;//背景网格的行数和列数
//心电
private float MAX_VALUE = 20;
private float WAVE_LINE_STROKE_WIDTH = 2;
private int mWaveLineColor = Color.parseColor("#EE4000");//波形颜色
private float nowX,nowY;//目前的xy坐标
//网格
private final int GRID_SMALL_WIDTH = 10;//每一个网格的宽度和高度,包括线
private final int GRID_BIG_WIDTH = 50;//每一个大网格的宽度和高度,包括线
private int xSmallNum,ySmallNum,xBigNum,yBigNum;//小网格的横格,竖格,大网格的横格&#