自定义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;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值