Skip to content

Commit 0489b60

Browse files
committed
单柱状图和多柱状图Helper 建造者模式设置属性
1 parent 8dbfaad commit 0489b60

File tree

6 files changed

+530
-107
lines changed

6 files changed

+530
-107
lines changed

app/src/main/java/com/cyy/charthelper/MainActivity.java

Lines changed: 81 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import com.github.mikephil.charting.charts.LineChart;
1313
import com.github.mikephil.charting.charts.PieChart;
1414
import com.horen.chart.barchart.BarChartHelper;
15-
import com.horen.chart.barchart.IBarChartData;
15+
import com.horen.chart.barchart.IBarData;
1616
import com.horen.chart.linechart.ILineChartData;
1717
import com.horen.chart.linechart.LineChartHelper;
1818
import com.horen.chart.piechart.IPieData;
@@ -86,16 +86,16 @@ private void initMulitleLineChart() {
8686
}
8787

8888
private void initMulitleBarChart() {
89-
//线的名字集合
89+
//线的名字集合
9090
List<String> names = new ArrayList<>();
9191
names.add("入库");
9292
names.add("出库");
9393
names.add("在库");
9494
// 多条柱状图数据集合
95-
List<List<IBarChartData>> data = new ArrayList<>();
95+
List<List<IBarData>> data = new ArrayList<>();
9696
for (int i = 0; i < names.size(); i++) {
9797
// 单个柱状图数据
98-
ArrayList<IBarChartData> entries = new ArrayList<>();
98+
ArrayList<IBarData> entries = new ArrayList<>();
9999
entries.add(new TestBarData((Math.random() * 200), "IF1040"));
100100
entries.add(new TestBarData((Math.random() * 200), "IF1041"));
101101
entries.add(new TestBarData((Math.random() * 200), "IF330"));
@@ -104,30 +104,98 @@ private void initMulitleBarChart() {
104104
entries.add(new TestBarData((Math.random() * 200), "IF110"));
105105
data.add(entries);
106106
}
107-
108-
BarChartHelper barChartHelper = new BarChartHelper(bar_chart);
109107
//颜色填充
110108
String[] colors = getResources().getStringArray(com.horen.chart.R.array.chart_colors);
111109
List<Integer> chartColors = new ArrayList<>();
112110
for (String color : colors) {
113111
chartColors.add(Color.parseColor(color));
114112
}
115-
//创建多条折线的图表
116-
barChartHelper.showBarChart(data, names, chartColors, 3);
113+
new BarChartHelper.Builder()
114+
.setContext(this)
115+
// 柱状图
116+
.setBarChart(bar_chart)
117+
// 多柱状图
118+
.setBarSetData(data)
119+
// 单柱状图
120+
// .setBarData(entries)
121+
// 多柱状图 标签名集合
122+
.setLabels(names)
123+
// 一页X轴显示个数
124+
.setDisplayCount(3)
125+
// 标签显示隐藏
126+
.setLegendEnable(false)
127+
// 标签文字大小
128+
.setLegendTextSize(20)
129+
// 是否显示右边Y轴
130+
.setyAxisRightEnable(false)
131+
// X,Y轴是否绘制网格线
132+
.setDrawGridLines(false)
133+
// 缩放
134+
.setScaleEnabled(true)
135+
// 是否可以通过双击屏幕放大图表
136+
.setDoubleTapToZoomEnabled(true)
137+
// 柱状图描述 图表右下角
138+
.setDescriptionEnable(false)
139+
// 按比例放缩柱状图
140+
.setPinchZoom(true)
141+
// 多柱状图 每组柱之间的宽度,只在多柱状图生效
142+
.setGroupSpace(0.4f)
143+
// 单柱状图 每个柱的宽度,只在单柱状图生效
144+
.setBarWidth(0.3f)
145+
// x,y轴动画时间和类型
146+
.setDurationMillis(2000)
147+
.setEasing(Easing.EasingOption.Linear)
148+
// 单柱状图颜色
149+
.setBarColor(Color.parseColor("#0000FF"))
150+
// 多柱状图颜色
151+
.setBarColors(chartColors)
152+
// X轴是否显示自定义数据,在IBarData接口中定义
153+
.setXValueEnable(true)
154+
.build();
117155
}
118156

119157
private void initSingleBarChart() {
120158
//模拟数据
121-
ArrayList<IBarChartData> entries = new ArrayList<>();
159+
ArrayList<IBarData> entries = new ArrayList<>();
122160
entries.add(new TestBarData((Math.random() * 80), "液袋"));
123161
entries.add(new TestBarData((Math.random() * 80), "拉阀"));
124162
entries.add(new TestBarData((Math.random() * 80), "喉箍"));
125163
entries.add(new TestBarData((Math.random() * 80), "阀门"));
126-
BarChartHelper barChartHelper = new BarChartHelper(single_bar_chart);
127-
//颜色填充
128-
String[] colors = this.getResources().getStringArray(com.horen.chart.R.array.chart_colors);
129164
//创建多条折线的图表
130-
barChartHelper.showBarChart(entries, Color.parseColor(colors[0]), 4);
165+
new BarChartHelper.Builder()
166+
.setContext(this)
167+
.setBarChart(single_bar_chart)
168+
.setBarData(entries)
169+
// 一页X轴显示个数
170+
.setDisplayCount(4)
171+
// 标签显示隐藏
172+
.setLegendEnable(false)
173+
// 标签文字大小
174+
.setLegendTextSize(20)
175+
// 是否显示右边Y轴
176+
.setyAxisRightEnable(false)
177+
// X,Y轴是否绘制网格线
178+
.setDrawGridLines(false)
179+
// 缩放
180+
.setScaleEnabled(true)
181+
// 是否可以通过双击屏幕放大图表
182+
.setDoubleTapToZoomEnabled(true)
183+
// 柱状图描述 图表右下角
184+
.setDescriptionEnable(false)
185+
// 按比例放缩柱状图
186+
.setPinchZoom(true)
187+
// 多柱状图 每组柱之间的宽度,只在多柱状图生效
188+
.setGroupSpace(0.12f)
189+
// 单柱状图 每个柱的宽度,只在单柱状图生效
190+
.setBarWidth(0.6f)
191+
// x,y轴动画时间和类型
192+
.setDurationMillis(2000)
193+
.setEasing(Easing.EasingOption.Linear)
194+
// 单柱状图颜色
195+
.setBarColor(Color.parseColor("#00FF00"))
196+
// X轴是否显示自定义数据,在IBarData接口中定义
197+
.setXValueEnable(true)
198+
.build();
131199
}
132200

133201
private void initPieChart() {

app/src/main/java/com/cyy/charthelper/bean/TestBarData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.cyy.charthelper.bean;
22

3-
import com.horen.chart.barchart.IBarChartData;
3+
import com.horen.chart.barchart.IBarData;
44

55
/**
66
* @author :ChenYangYi
77
* @date :2018/08/03/13:02
88
* @description :
99
* @github :https://github.com/chenyy0708
1010
*/
11-
public class TestBarData implements IBarChartData {
11+
public class TestBarData implements IBarData {
1212
private String name;
1313
private double valueData;
1414

app/src/main/java/com/cyy/charthelper/bean/TestPieData.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ public void setName(String name) {
2525
this.name = name;
2626
}
2727

28-
2928
/**
3029
* 值
3130
*/

0 commit comments

Comments
 (0)