2017-01-09 2 views
1

Ich möchte ein solches Verhalten erreichen, wie unten unter PieChart von MPAndroidChart Bibliothek.MPAndroidChart - " n" funktioniert nicht beim Setzen von ValueFormatter

PieChart

Um das zu tun, ich bin die ValueFormatter von PieData als die folgende Einstellung:

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 ""; 
     } 
}); 

jedoch die "\ n" ist etwas ignoriert von der ValueFormatter oder PieChart, und ich Ich bekomme den gesamten Wert in einer Zeile. Was könnte der Grund dafür sein? Wie kann ich mehrzeiliges Wertelabelverhalten erreichen, wie im oben gezeigten PieChart-Beispiel zu sehen ist?

+0

Verbunden: http://stackoverflow.com/q/32509174/5241933 –

Antwort

1

Als Umgehungslösung, stelle ich Werte Ich möchte zeigen, nachdem neue Zeilenumbrüche als Etiketten meiner PieEntry Variablen:

PieEntry entry = new PieEntry(value, "(XXX)"); 

Scheint, wie es das tut, was ich bisher erreichen wollte. Allerdings ist es für mich immer noch nicht verständlich, warum "\ n" bei der Einstellung ValueFormatter nicht funktioniert.

+0

Es ist, weil der Renderer nur eine einzelne Textzeile für eine Wertelabel wiedergeben soll. Sie müssten 'drawLabels()' in einem benutzerdefinierten Renderer überschreiben –

Verwandte Themen