2012-10-04 11 views

Odpowiedz

4

Nie można zmienić, który z nich zostanie narysowany jako pierwszy, a który następny.

Można jednak zmienić kolor linii siatki. Na przykład możesz ustawić kolor, który jest nieco przezroczysty, tak jak nie wygląda tak, jakby był narysowany powyżej pasków.

+0

jak ustawić kolory siatki? –

+2

@Dan, czy nie ma żadnych możliwych zmian w bibliotece, aby zrobić to, co jest przeznaczone? – dwbrito

0

Do AChartEngine 1.2.0 nie jest to możliwe. Nie można przenieść linii siatki nad wykresem.

+0

Jest to proste stwierdzenie oczywistego faktu, bezpośrednio odpowiadające na pytanie "tak/nie", stąd bardzo odpowiedź. Jeśli ktoś chce sprzeciwić się ** dokładnością **, to zrób to w komentarzu - ale nie fałszywie oznacz go jako brak odpowiedzi. –

1

Nawet jeśli nie jest to idealna odpowiedź, można to osiągnąć, wprowadzając pewne zmiany w metodzie "losowania" klasy XYChart.

Nie jestem pewien, czy to nie spowoduje innych problemów, ale dla mnie działa. Zasadniczo pomysł polega na narysowaniu etykiet i siatki przed narysowaniem linii wykresu.

przeniosłem cały kod rozpoczynający i kończący się w:

 boolean showLabels = mRenderer.isShowLabels() && hasValues; 
     ... 
      drawText(canvas, mRenderer.getChartTitle(), x + size, top + height/2, paint, 0); 
     } 
     } 

się przed tym wierszu:

boolean hasValues ​​= false;

Ponadto skomentowałem część && hasValues. Zauważ, że to zdecydowanie nie jest niezawodny kod, tylko niewielki hack.

+0

Niestety, szkodzi to innym częściom, takim jak oś i etykiety niestandardowe. Można go rozwiązać, ale przy większej reorganizacji kodu. –