Problema risolto leggendo la !
In pratica il metodo "getTextSize()" restituisce la dimensione in pixel, mentre il metodo "setTextSize(float)" prende una dimensione in "scale point", che è un'unità di misura diversa. Per risolvere il problema puoi usare il metodo "setTextSize(int, float)", in cui il primo parametro prende è un intero che indica l'unità di misura del secondo parametro.
Tradotto in codice:
tp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float size = tv.getTextSize();
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, size+1); // indico che la dimensione è in pixel
}
});
tm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float size = tv.getTextSize();
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, size-1); // indico che la dimensione è in pixel
}
});