HelloChart折线图中设置单个节点颜色(jar包修改)

最进项目中需要实现折线图中最大值最小值的颜色区别,发现所用的hellochart控件并没有提供单个节点颜色的设置,然而这并没有什么卵用,没有什么是撸源码解决不了的!

  • 效果图


    QQ图片20171212175143.jpg

修改的类就是PointValue 和 LineChartRenderer这两个类

  • pointvalue就是节点类,里面包含了节点坐标等,我们需要在类中加一个color属性,重写构造方法,然后实现set,get


    图片.png
图片.png

注意: set方法需要返回当前对象,否则会报错!

  • LineChartRenderer 在这个类中进行了线,点以及标签的绘制,由于我们只需要修改点,因此只需要修改其中的drawPoint()方法即可,同理,若需要修改其他样式,对应修改即可


    图片.png

    在这个方法里我们需要根据传入的pointvalue参数获取初始化传入的color,给画笔设置颜色即可。

  • 使用:


    图片.png

初始化点的时候直接传入需要设置的颜色即可

附:jar包修改方法

  • 下载jar包,导入项目
  • 在lib目录下找到相应的要修改的类(默认此类是不可修改的)
  • 在java根目录下建立跟要修改类同包同名的类,复制要修改类的代码,在新建中进行修改
  • 修改完成后rebuild,没有错误后,在build/intermediates/classes/debug/你的包名/你修改的类.class(后缀名为.class),复制
  • 用压缩文件打开本地的jar文件,找到对应包下的.class文件,替换
  • 最后,将替换成功的jar文件替换项目中的jar包,运行项目

你可能感兴趣的:(HelloChart折线图中设置单个节点颜色(jar包修改))