MPAndroidChart-“MPAndroidChart”\";设置ValueFormatter时不起作用
我想使用库的MPAndroidChart-“MPAndroidChart”\";设置ValueFormatter时不起作用,android,mpandroidchart,Android,Mpandroidchart,我想使用库的PieChart实现下面所示的行为 为此,我将PieData的ValueFormatter设置如下: data.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
PieChart
实现下面所示的行为
为此,我将PieData
的ValueFormatter
设置如下:
data.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
if(value > 0)
return floatFormat.format(value) + "\n(XXX)";
else
return "";
}
});
但是,“\n”在某种程度上被
ValueFormatter
或PieChart
忽略了,我在一行中得到了整个值。原因可能是什么?如何实现上述PieChart示例中所示的多行值标签行为?作为一种解决方案,我将新行中断后要显示的值设置为我的PieEntry
变量的标签:
PieEntry entry = new PieEntry(value, "(XXX)");
似乎它实现了我到目前为止想要实现的目标。但是,我仍然无法理解为什么在设置
ValueFormatter
时“\n”不起作用,这是因为渲染器仅用于为值标签渲染单行文本。您必须在自定义渲染器中重写drawLabels()
: