Witam. W draw mojego obiektu dziedziczącego z View mam:
super.draw(canvas);
canvas.scale(10,10);
Paint p = new Paint();
p.setLinearText(true);
p.setAntiAlias(true);
p.setColor(Color.RED);
int i;
float s = 0;
for (i=0; i<100; i++) {
p.setTextSize(s);
s += 0.3f;
canvas.drawText("ABC123",1, i*5, p);
}
canvas.restore();
i jeszcze
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Jak widać canvas mam powiększony 10 razy. I teraz rysuje teksty o rozmiarze rosnącym co 0.3f. Na androidach 4 (4.1, 4.4) nie ma problemu - każdy kolejny tekst jest odpowiednio większy i wszystko wygląda dobrze. Ale na 5.x jest już problem. Rozmiary o wartościach niecałkowitych powodują, że znaki się powiększają ale cały tekst nie rośnie na szerokość. Czyli teksty np 1.1, 1.3, 1.6, 1.9 sątakie same na szerokość ale coraz większe znaki coraz bardziej na siebie nachodzą. Na screenach jakoś tam to widać. Są niestety zrobione przy różnych rozdzielczościach ekranów.
Czy ktoś ma pomysł co jest nie tak ? To co wkleiłem to praktycznie cały kod. Zrobiłem specjalnie testową aplikacje żeby wykluczyć problemy w innych miejscach.
Widać jeszcze problem dotyczący rozmiarów poniżej 1. Na androidach 4 jest ok a na 5 tekst jest mocno rozjechany na szerokość.