W dimens.xml mam:
<dimen name="text_medium">18sp</dimen>
W czasie wykonywania otrzymuję tę wartość i ustawiam rozmiar tekstu widoku tekstu:
int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).
Na tablecie 10 ″ (1280 x 800) wszystko jest w porządku; ale na telefonie (800 x 480) widok tekstu ma bardzo dużą czcionkę. Na tablecie rozmiar wynosi 18; przez telefon jest 27.
Jeśli ustawię rozmiar ręcznie przez:
textView.setTextSize(size)
rozmiar jest normalny na obu urządzeniach.