您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页柱形图 View

柱形图 View

来源:筏尚旅游网




package com.bwie.my_004.weight;

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 MyView extends View {

    private int hmode;
    private int wmode;
    private int wsize;
    private int hsize;
    private Paint paint;
    private Paint mpain;


    public MyView(Context context) {
        super(context);
    }

    public MyView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }


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

        wmode = MeasureSpec.getMode(widthMeasureSpec);
        hmode = MeasureSpec.getMode(heightMeasureSpec);

        wsize = MeasureSpec.getSize(widthMeasureSpec);
        hsize = MeasureSpec.getSize(heightMeasureSpec);

        if (wmode == MeasureSpec.AT_MOST && hmode == MeasureSpec.AT_MOST){
            setMeasuredDimension(wsize,hsize);
        }else if (wsize ==MeasureSpec.AT_MOST){
            setMeasuredDimension(wsize,450);
        }else if (hmode == MeasureSpec.AT_MOST){
            setMeasuredDimension(450,hsize);
        }


    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

//        创建画笔
        mpain = new Paint();
//        图的
        paint = new Paint();

        paint.setColor(Color.BLUE);
        mpain.setColor(Color.BLUE);

        paint.setTextSize(20);
        canvas.drawText("2018年8月26日至9月2日平均2.5公里",100,440,paint);

//        计算高度
        int u = 400 / 50;
        for (int i = 0; i < u; i++) {
            // canvas.drawLine(0,100 * i,wsize,100 * i,mpain);
        }
        for (int i = 0; i < 6; i++) {
            canvas.drawLine(20,80 * i,wsize,80 * i,mpain);
        }

        for (int i = 0; i < 9; i++) {
            canvas.drawLine(20+(100 * i),0,20+(100 * i),400,mpain);
        }
        canvas.drawRect(40,360,100,400,paint);
        canvas.drawRect(140,100,200,400,paint);
        canvas.drawRect(240,120,300,400,paint);
        canvas.drawRect(340,200,400,400,paint);
        canvas.drawRect(440,270,500,400,paint);
        canvas.drawRect(0,240,600,400,paint);
        canvas.drawRect(0,180,700,400,paint);

        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setColor(Color.BLUE);
        paint.setStrokeWidth(2);
        paint.setTextSize(20);
        canvas.drawText("1500", 40, 300, paint);
        canvas.drawText("6800", 140, 100, paint);
        canvas.drawText("6500", 240, 110, paint);
        canvas.drawText("4800", 340, 170, paint);
        canvas.drawText("3200", 440, 240, paint);
        canvas.drawText("3500", 0, 200, paint);
        canvas.drawText("5000", 0, 150, paint);


        canvas.drawText("周一", 40, 420, paint);
        canvas.drawText("周二", 140, 420, paint);
        canvas.drawText("周三", 240, 420, paint);
        canvas.drawText("周四", 340, 420, paint);
        canvas.drawText("周五", 440, 420, paint);
        canvas.drawText("周六", 0, 420, paint);
        canvas.drawText("周日", 0, 420, paint);

        canvas.drawText("2900",0,320,paint);
        canvas.drawText("3500",0,240,paint);
        canvas.drawText("6000",0,160,paint);
    }
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务