转自:
http://blog.sina.com.cn/s/blog_83395bd50100utvz.html
今天晚上把time series chart完成了,并把它和之前的bar chart, pie chart 一起在我的手持终端上运行了一下,效果还算OK。
今天主要介绍一下Time Series Chart以及chart的设计模式(比较简单)
1. 其实Time Series Chart和Bar chart 几乎是相同的,只需要将bar换成正方形以及相连的直线即可,所以grid、title等都可以直接使用bar chart的函数来创建。
实例图如下:
2. 下图是chart engine 的设计路线,但目前为止设计的三类chart都是按照这个路线设计的,这里以bar chart为例:
bar piece:表示一个bar(柱),在整个设计过程中,我们将类似bar的“可见”对象都赋予物理属性,包括颜色、边界坐标等;
bar chart:表示有多个bar 组成的chart;
bar chart report:实际上就是我们能在屏幕上看到的对象,包括chart、grid、title和legend
bar chart report factory:由于三种chart之间有很多相同的属性,并且对外的接口都是相同的,这里使用“工厂模式”,即bar chart report factory中创建Bar Chart Report,封装了Grid、title等的创建;
Bar Chart Report View:继承android.view.View,并override其中的OnDraw等函数(调用canvas.drawXXX,当然,可以采用“decorate模式”包装一下canvas);
最终将Bar Chart Report View添加到layout中即可完成显示。