Как мне отредактировать мой размер шрифта программно?
Эта проблема сложнее, чем название. У меня есть класс 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))
Это должно делать свое дело