自定义View画条形图

package zhangyanran201800830.bwie.com.zidingyi.moni;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
public class MoNiTwo extends View {

    private Paint mpaint;
    //横竖轴的间隔
    private int wsize = 50;
    private int hsize = 50;
    //数组
    private Integer [] a={100,200,50,580,300,200,70};
    private String [] c={"0","2","4","6","8","10","12"};
    private String [] b={"周日","周一","周二","周三","周四","周五","周六"};
    //数组数据
    private int top ;
    private String texttop;
    private String sumtop;
    //方位宽度
    private int left = 70;
    private int textleft = 70;
    private int sumleft = 410;
    private int right = 120;
    public MoNiTwo(Context context) {
        this(context,null);
    }

    public MoNiTwo(Context context, @Nullable AttributeSet attrs) {
        this(context, attrs,0);
    }

    public MoNiTwo(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //创建画笔
        mpaint = new Paint();
        mpaint.setColor(Color.BLACK);//颜色
        mpaint.setStrokeWidth(5);//宽度
        mpaint.setTextSize(30);//字体大小
}

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawLine(50,400,700,400,mpaint);//横轴
        canvas.drawLine(50,50,50,400,mpaint);//竖轴
        //循环竖轴
        for (int i=0;i<7;i++){
            wsize += 90;
            canvas.drawLine(wsize,50,wsize,400,mpaint);
        }
        //循环横轴
        for (int i=0;i<7;i++){
            hsize += 50;
            canvas.drawLine(50,hsize,679,hsize,mpaint);
        }
        //循环画矩形
        for (int j = 0 ; j < a.length ; j++){
            top = a[j]/2;
            canvas.drawRect(left,400-top,right,400,mpaint);
            left+=90;
            right+=90;
        }
        //循环日期
        for (int j = 0 ; j < b.length ; j++){
            texttop = b[j];
            canvas.drawText(texttop,textleft,450,mpaint);
            textleft+=90;
        }
        //循环Y轴数量
        for (int k = 0;k<c.length;k++){
            sumtop = c[k];
            canvas.drawText(sumtop,680,sumleft,mpaint);
            sumleft-=50;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/H_BuilDer/article/details/82285346