В dimens.xml у меня есть:
<dimen name="text_medium">18sp</dimen>
Во время выполнения я получаю это значение и задаю размер текстового вида:
int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).
На 10-дюймовом планшете (1280 x 800) все в порядке; но по телефону (800 x 480) текстовое представление имеет очень большой шрифт. На планшете размер равен 18; по телефону, 27.
Если я задаю размер вручную, выполните следующие действия:
textView.setTextSize(size)
размер на обоих устройствах нормальный.