gpt4 book ai didi

android - MPAndroidChart:getColors() 现在已弃用 'Legend'。我应该用什么代替?

转载 作者:行者123 更新时间:2023-11-29 19:21:58 85 4
gpt4 key购买 nike

我在 MPAndroidChart 中显示饼图的自定义图例,但是,.getColors() 和 .getLabels() 现在已弃用。

我一直在使用它们分别获取 int 数组和 string 数组,但我似乎找不到直接的替代方法。我错过了一些明显的东西吗?我现在应该改用什么?谢谢!

Legend legend = mChart.getLegend();
legend.setEnabled(false);

if (legend.getColors() != null) {

int colorCodes[] = legend.getColors();
String labels[] = legend.getLabels();

ArrayList<LegendItem> legendItems = new ArrayList<>();

for (int i = 0; i < legend.getColors().length-1; i++) {
legendItems.add(new LegendItem(colorCodes[i], labels[i]));
}

showLegend(legendItems);

// entry label styling
mChart.setDrawEntryLabels(false);

}

最佳答案

Legend 类现在遵循更好的 OOP 实践,由 LegendEntry 数组组成。您可以遍历每一个并根据需要提取颜色或标签。

private int [] getColors(Legend legend) {
LegendEntry [] legendEntries = legend.getEntries();
int [] colors = new int[legendEntries.length];
for (int i = 0; i < legendEntries.length; i++) {
colors[i] = legendEntries[i].formColor;
}
return colors;
}

private String [] getLabels(Legend legend) {
LegendEntry [] legendEntries = legend.getEntries();
String [] labels = new String[legendEntries.length];
for (int i = 0; i < legendEntries.length; i++) {
labels[i] = legendEntries[i].label;
}
return labels;
}

关于android - MPAndroidChart:getColors() 现在已弃用 'Legend'。我应该用什么代替?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42236779/

85 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com