前段时间写了几篇关于MPAndroidChart自界说相关的文章,放在专栏 /column/7135… 里。其实笔者除了对MPChart有做自界说之外,还自己写了一个图表库,这个库根据RecyclerView来完成的,所以起名为RecylcerChart,小部分代码参照了MPChart,然后也有完成了一些特定的功能,例如能够无限左右滑动加载数据,高亮选中popup弹框,处理长按popup滑动跟RecyclerView本身的滑动冲突等棘手的问题, 借用RecylcerView 有个好处是它自己本身有对Adapter里的数据进行办理,过多它会回收,不需要笔者再去独自进行处理,省去了部分作业。详细细节在后续的文章里会做详细的介绍。

RecyclerChart 目前支持完成柱状图、线形图、曲线图、睡觉泳道图、之前MPChart中的Segment柱状图,其实制作的逻辑仍旧用的Render类去制作,所以之前MPChart中自界说的系列图表,在RecyclerChart 里也能够完成。RecyclerView差异于MPChart的地方在于,部分制作的组件不同,但大致的制作的思维相同。

在一个RecyclerView里终究怎么去制作,怎么去自界说制作呢,主页咱们整理一下RecyclerView中的几个首要的Component: RecyclerView本身,存储制作需要的数据的Adapter, 一起里面会包括咱们的ItemView,然后是操控全体Layout的LayoutManager,还有平常用的略微少些用于自界说divideLine之类的RecyclerView.ItemDecoration等,这儿笔者就是借助ItemDecoration来自界说制作的,拓展了一下它制作的功能,平常仅用于制作divideLine的ItemDecoration,承担起整个的自界说制作作业,所以真实的ItemView反倒是变成了一个空壳子。咱们看一下他们之间的结构联系:

RecylerChart图表

这儿RecyclerView扮演相似MPChart中的Chart的人物,真实的制作在ItemDecoration中的Render,Render制作依赖的一些首要Component,例如Entry、XAxis、YAxis,操控 选中高亮的ValueFormatter,这些大致跟之前的MPChart的相似,有差异处会在遇到的时分做介绍。

接下里看几种借助RecyclerChart完成的制品的图表:

折线图:

曲线图:

柱状图:

泳道图:

线性柱状混合图:

RecylerChart图表

心电图:

以上介绍了根据RecyclerChart制作的几种图表类型,于MPChart不同之处在于,没有多指缩放的完成,但它也有一些特殊的完成例如左右无线滑动动态加载数据;长按高亮滑动与RecyclerView左右滑动的冲突处理;完成手机屏幕内展现单位时间段的数据(比方一个月、一天)滑动停止时,View的回弹,让左右边界跟业务上的边界重合。之后的文章会一一介绍这些功能点的详细完成逻辑,还有部分笔者认为注入了我精力的完成逻辑。

之前的MPChart有读者问源码那个是没有放,RecyclerChart的lib(没有上传专门的aar包以及maven库)以及相对简略的制作demo,有需要参考的读者可参考:github.com/yinxiucheng…