U может вычислить значение размера шрифта идеи для TextView.Это размер шрифта, который будет заполнять его, не будучи слишком большим.Формула имеет вид:
fontSize = (TextView Height) * (width DPI / height DPI) / (Screen Width * Screen Height);
DPI и ширину и высоту можно получить, переопределив метод onConfigurationChanged в своей деятельности и используя newConfig.screenWidthDp и newConfig.screenHeightDp.
Размер экранапиксели могут быть получены с помощью следующей вспомогательной функции
// Get Screen Size
static public Point getScreenSize(Activity aActivity)
{
Display display = aActivity.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
return size;
}
Я просто вычисляю это значение по мере необходимости (в onConfigurationChanged) и помещаю его в некоторый статический вспомогательный класс.Затем, когда TextView необходимо определить, какой размер шрифта использовать, он вытягивает его из этого класса.
Он работает, но может оказаться не самым простым решением.