前言
android 中已经有非常优秀的图表库如MPAndroidChart,hellocharts。这些图表库功能强大,支持图表类型多。最近笔者公司只有一个很简单的图表需求,只需要做一个折线图,用这些库的话,完全可以实现但是导入,实现麻烦,而且会增大包体积。如是就想到了写一个轻量级的图表框架AndroidLightCharts,只包含几个最基本,最常用的charts。
demo 及源码地址:https://github.com/wxkly8888/AndroidLightCharts
效果图:
折线图:
Screenshot_20201023-102100__01.jpg
饼状图:
Screenshot_20201023-110259__01.jpg
柱状图:
Screenshot_20201023-141828__01.jpg
目前只包含上面三种chart,使用起来非常简单。其中LineView表示折线图,PieView 表示饼状图,BarView表示柱状图。
每种类型的chart可配置的项如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="LineView">
<!--the color of labels on X-axis-->
<attr name="x_text_color" format="color" />
<!--the space between labels on X-axis-->
<attr name="x_text_space" format="integer" />
<!--the text size of labels on X-axis -->
<attr name="x_text_size" format="integer" />
<!--the color of labels on Y-axis -->
<attr name="y_text_color" format="color" />
<!--the text size of labels on Y-axis -->
<attr name="y_text_size" format="integer" />
<!--the type of popup text on the top of line -->
<attr name="show_popup_type" format="integer" />
<!--the color of background lines-->
<attr name="background_line_color" format="color" />
</declare-styleable>
<declare-styleable name="barView">
<!--the color of labels on X-axis-->
<attr name="bar_x_text_color" format="color" />
<!--the space between labels on X-axis-->
<attr name="bar_x_text_space" format="integer" />
<!--the text size of labels on X-axis -->
<attr name="bar_x_text_size" format="integer" />
<!--the color of labels on Y-axis -->
<attr name="bar_y_text_color" format="color" />
<!--the text size of labels on Y-axis -->
<attr name="bar_y_text_size" format="integer" />
<!--the color of background lines-->
<attr name="bar_background_line_color" format="color" />
<!--the color of the bar-->
<attr name="bar_color" format="color" />
<!--the width of the bar-->
<attr name="bar_width" format="integer" />
<!--the text color of the popup text-->
<attr name="bar_pop_textcolor" format="color" />
<!--whether to show the popup text-->
<attr name="bar_show_pop_text" format="boolean" />
</declare-styleable>
<declare-styleable name="pieView">
<!--whether to show the boarder line -->
<attr name="show_boarder_line" format="boolean" />
<!--whether to show the percent text -->
<attr name="show_percent_text" format="boolean" />
</declare-styleable>
</resources>
网友评论