[Android]自定义饼图

       最近用了一下achartengine的饼图感觉很好,但是总感觉有些自己DIY一下会不会更好,当然美观和执行效率会不好,也没用去看achartengine源码随便写了个半成品,需要改进的地方还有很多比如各种图释(感觉图释的话找准位置drawText就可以),传入的数据集也没有进行优化,暂时使用list,还有响应的事件只实现了点击选择,没有实现滑动选择,大体就这样吧。下面说一下我的理解和我自己的问题。

       1.画扇形我是用canvas.drawArc,注意几个参数第一个是RectF它是指扇形所在圆的外围矩形,第二个参数是起始角度,是从右顺时针旋转的,第三个参数是旋转角度,每一个扇形的角度范围是起始角度到起始角度加旋转角度。

       2.点击事件,在判断落在哪个扇形区域的时候获取点(用event.getX别用event.getRawX以前没注意过区别)先判断是否在圆内,再看角度在哪个扇形的角度范围内。算角度时我用arctan()算出角度再根据每个象限对算出来的角度进行处理(不知道处理逻辑对不对 反正我自己试着点是没问题了)。

      3.监听事件我声明了一个PieSelectedListener接口,我这里有个问题时每次界面刷新的时候来调用接口方法感觉会慢一些,不知道对不对。

      4.感觉achartengine在做时用工厂模式可能里面还有装饰者模式确实合理,在进行一下封装,我自己写的这里需要先定义pieRender(整个扇形图的选项)再定义数据pielist,而achartengine直接ChartFactory          .getPieChartView(context, categorySeries, renderer)。还有很长度路走。。

        附上源码 http://download.csdn.net/detail/popezong/8664407

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值