自定义view实现通用的柱形图表

前几天老同学项目需要,要实现柱形图表,我也上网搜索了一下,满满的框架 比如:MPAndroidChart;我想说如果是自己公司的产品,不会让你无脑使用第三方框架吧?! 下面使用自定义view实现柱形图表的需求。
先看下效果图:
这里写图片描述
先说一下我的思路:
1:画横线,计算横向没i一条线之间的距离:首先如果Y轴如果有7个数值的话(包括单位),那么将height分为 7份+ heighttop, 顶部再加上heightTOP = height/24 , 这个24根据自己的需求调试数值; 那么如下图所示:
这里写图片描述
2:画竖线,计算竖线每一条线之间的距离:对于X轴来说, 如果有7个数据(包括单位),那么将wight分为8份, 如下图所示
这里写图片描述
3: 画text信息;需要注意的是 baseLine的计算方法;X轴和Y轴的最后一个单位text,需要将textSize的大小再设置一边;
4:画柱形图:画柱形图是要注意顶部的heightTop数值加进去;

下面是源码类:

package com.app.test.columndiagramproject;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;

import java.util.List;

/**
 * Created by ${liumegnqiang} on 2017/6/16.
 */

public class ColumnView extends View{
   
    private float height;//view高度
    private float wight;//view的宽度
    private float heightTop;//该view顶部线到top = 0之间距离
    private List<String> heightList;//Y轴的信息
    private List<String> wightList;//X轴的信息
    private float differenceWight;//X轴两条线之间距离
    private List<Integer> numberList;//柱形图的数据
    private int heightMax ;//Y轴的信息的最大值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值