直接上代码
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
/*Time:2019/4/27
*Author:zhaozhiwei
*Description:
*/public class ZheView extends View {
private Paint paint;
private int color;
private Paint paint1,paint2,paint3,paint4;
public ZheView(Context context) {
super(context);
}
public ZheView(Context context, AttributeSet attrs) {
super(context, attrs);
//自定义属性
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ZheView);
color = typedArray.getColor(R.styleable.ZheView_pain_color, Color.WHITE);
typedArray.recycle();
paint = new Paint();
paint.setStrokeWidth(5);
paint.setColor(color);
paint.setAntiAlias(true);//抗锯齿
//红
paint1 = new Paint();
paint1.setStrokeWidth(5);
paint1.setColor(Color.RED);
paint1.setTextSize(20);
//黄
paint2 = new Paint();
paint2.setStrokeWidth(5);
paint2.setColor(Color.YELLOW);
paint2.setTextSize(20);
//蓝
paint3 = new Paint();
paint3.setStrokeWidth(5);
paint3.setColor(Color.GREEN);
paint3.setTextSize(20);
//下标值
paint4 = new Paint();
paint4.setStrokeWidth(5);
paint4.setColor(Color.LTGRAY);
paint4.setTextSize(20);
}
//绘制方法
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//X轴
canvas.drawLine(30,800,700,800,paint);
//X坐标
canvas.drawLine(130,790,130,800,paint);
canvas.drawLine(200,790,200,800,paint);
canvas.drawLine(300,790,300,800,paint);
canvas.drawLine(300,790,300,800,paint);
canvas.drawLine(400,790,400,800,paint);
canvas.drawLine(500,790,500,800,paint);
canvas.drawLine(600,790,600,800,paint);
canvas.drawLine(690,790,690,800,paint);
canvas.drawText("0",30,820,paint4);
canvas.drawText("5:00",111,820,paint4);
canvas.drawText("10:00",200,820,paint4);
canvas.drawText("15:00",300,820,paint4);
canvas.drawText("20:00",400,820,paint4);
canvas.drawText("24:00",500,820,paint4);
canvas.drawText("XX:00",600,820,paint4);
//Y
canvas.drawLine(30,50,30,266,paint1);
canvas.drawLine(30,266,30,532,paint2);
canvas.drawLine(30,532,30,800,paint3);
//Y轴坐标
canvas.drawLine(30,266,44,266,paint1);
canvas.drawLine(30,532,44,532,paint2);
//Y轴参数差的
canvas.drawText("600",1,60,paint1);
canvas.drawText("差",1,160,paint1);
canvas.drawText("400",1,266,paint1);
//Y轴参数良好的
canvas.drawText("良",1,400,paint2);
canvas.drawText("200",1,540,paint2);
//Y轴参数好的
canvas.drawText("好",1,650,paint3);
//折线f
canvas.drawLine(30,800,100,600,paint);
canvas.drawCircle(30,800,10,paint2);//画点
canvas.drawLine(100,600,200,400,paint);
canvas.drawCircle(100,600,10,paint1);//画点
canvas.drawLine(200,400,300,700,paint);
canvas.drawCircle(200,400,10,paint1);//画点
canvas.drawLine(300,700,350,600,paint);
canvas.drawCircle(300,700,10,paint1);//画点
canvas.drawLine(350,600,400,400,paint);
canvas.drawCircle(350,600,10,paint1);//画点
canvas.drawLine(400,400,500,250,paint);
canvas.drawCircle(400,400,10,paint1);//画点
canvas.drawLine(500,250,600,500,paint);
canvas.drawCircle(500,250,10,paint1);//画点
canvas.drawLine(600,500,700,300,paint);
canvas.drawCircle(600,500,10,paint1);//画点
//最后一个点
canvas.drawCircle(700,300,10,paint1);//画点
}
public ZheView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
}