Вы можете изменить размер шрифта во время выполнения следующим образом:
text.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimension(R.dimen.result_font));
ИЛИ
Полный код для изменения TextSize во время выполнения, совместимый для любого размера экрана:
text.setTextSize(TypedValue.COMPLEX_UNIT_PX, DetermineTextSize
.determineTextSize(text.getTypeface(),
setTextHeight);
defineTextSize () метод, вызванный из DetermineTextSize класс:
DetermineTextSize.class
public class DetermineTextSize {
public static int determineTextSize(Typeface font, float allowableHeight) {
Paint p = new Paint();
p.setTypeface(font);
int size = (int) allowableHeight;
p.setTextSize(size);
float currentHeight = calculateHeight(p.getFontMetrics());
while (size != 0 && (currentHeight) > allowableHeight) {
p.setTextSize(size--);
currentHeight = calculateHeight(p.getFontMetrics());
}
if (size == 0) {
return (int) allowableHeight;
}
return size;
}
private static float calculateHeight(FontMetrics fm) {
return fm.bottom - fm.top;
}
}