本人是一个新手 ,今天第一次写博客,然后突然看到Canvas画图,然后就用几分钟时间写了一个特别垃圾的柱状图,
用到的代码没有一点技术含量,更适合新手看。下面贴代码。
主要代码类,里面包括坐标,柱状图,运用canvas最基本的画图方法
package com.fei.hbkd.canvas;
/**
* Created by jyyrlei on 2016/7/13.
*/
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.util.AttributeSet;
import android.view.View;
public class CoordinatesView extends View {
/*
* 自定义控件一般写两个构造方法 CoordinatesView(Context context)用于java硬编码创建控件
* 如果想要让自己的控件能够通过xml来产生就必须有第2个构造方法 CoordinatesView(Context context,
* AttributeSet attrs) 因为框架会自动调用具有AttributeSet参数的这个构造方法来创建继承自View的控件
*/
public CoordinatesView(Context context) {
super(context, null);
}
public CoordinatesView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/*
* 圆心(坐标值是相对与控件的左上角的)
*/
Point po = new Point();
/*
* 控件的中心点
*/
int centerX, centerY;
/*
* 控件创建完成之后,在显示之前都会调用这个方法,此时可以获取控件的大小 并得到中心坐标和坐标轴圆心所在的点。
*/
@Override
public void onSizeChanged(int w, int h, int oldw, int oldh) {
centerX = w / 2;
centerY = h / 2;
po.set(centerX, centerY);
super.onSizeChanged(w, h, oldw, oldh);
}
/*
* 自定义控件一般都会重载onDraw(Canvas canvas)