【发布时间】:2016-12-17 09:49:12
【问题描述】:
我在 Android 应用程序中为 BarChart 使用 WilliamChart 库。我想在点击时在栏上实现高亮功能。我查看了文档和示例代码,但找不到示例应用程序如何使用此功能。
我尝试使用 barSet.getEntry(),它会在 onClick 外部更改条形颜色,但在 onClick 事件内部不起作用。一定有什么我错过了。这是用于绘制 BarChart 的代码。
mChart.setAxisBorderValues(0, 0, 50);
final BarSet barSet = new BarSet();
Bar bar;
for (int i = 0; i < Xlabels.length; i++)
barSet.addBar(new Bar(Xlabels[i], (float) earned[i]));
barSet.setColor(ContextCompat.getColor(this, R.color.colorAccent));
mChart.setOnEntryClickListener(new OnEntryClickListener() {
@Override
public void onClick(int setIndex, int entryIndex, Rect rect) {
// Change Bar Color Here
barSet.getEntry(entryIndex).setColor(ContextCompat.getColor(Earnings.this, R.color.white));
}
});
mChart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
mChart.addData(barSet);
mChart.setBarSpacing(Tools.fromDpToPx(8));
mChart.setBorderSpacing(0)
.setXLabels(AxisController.LabelPosition.OUTSIDE)
.setLabelsColor(Color.parseColor("#FF8E8A84"))
.setXAxis(false)
.setYAxis(false)
.setLabelsFormat(new DecimalFormat("##'M'"));
mChart.show(new Animation(1000).setEasing(new LinearEase()));
而且,我的第二个问题是 y 轴标签最后会自动附加“M”。如何在动态 y 轴值中删除或附加不同的字符?
提前致谢。
【问题讨论】:
标签: android charts bar-chart highlight axis-labels