Как мне отредактировать мой размер шрифта программно?

Эта проблема сложнее, чем название. У меня есть класс Java, который сопоставляет значения с сервера. Теперь я устанавливаю размер текста программно, следующим образом:

headerButton.setTextSize(Application.getAppResources().getDimensionPixelSize(R.dimen.manage_markets_text));

и установите manage_markets_text в измерениях как 15sp для макета, для значений-xlarge: 20sp и для значений-больших измерений 18sp. Теперь для планшета xlarge он получает 20sp по желанию, однако для телефона htcone он отображает какой-то большой размер шрифта, который я даже не знаю, откуда он берет (кажется, что он равен 40-50sp). Теперь я изменил код, чтобы принять getDimension вместо Pizelsize, и у меня все еще остается та же проблема. если я установлю settextsize(r.dimen.manage_market_text), он отобразит пустую страницу. Как мне решить проблему? Любая подсказка?

1 ответ

Я думаю, что вы захотите установить это в своем XML.

<Button
    ...
    android:textSize="@dimen/manage_market_text"
    ...
/>

Кроме того, использование values-xlarge немного старомодно. В соответствии с

http://developer.android.com/guide/practices/screens_support.html

Вы должны отформатировать ваши файлы, такие как values-sw600dp.

Чтобы ответить на ваш оригинальный вопрос, просто напишите

Resources res = this.getResources();
headerButton.setTextSize(res.getDimension(R.dimen.manage_market_text))

Это должно делать свое дело

Другие вопросы по тегам