2014-02-04 6 views
0

У меня есть приложение, работающее хорошо по дизайну, когда размер шрифта находится в «Обычном» на «Настройки-> Дисплей-> FontSize.Как изменить размер шрифта в приложении, изменив настройки. Размер шрифта

Когда я меняю размер шрифта на Small/Large, весь контент размят. Мое приложение интенсивно загружается, и это плохо влияет на приложение.

Скажем, название панели действий похоже на «Конфиденциальность и настройки». Заголовок пробегает границы/эллипсисы, когда размер шрифта установлен на «Большой» в «Настройки системы». Содержание списка выглядит жалким.

Есть ли способ убедиться, что изменение в Настройках-> Шрифты не влияет на наше приложение?

Flipboard app делает это.

+0

Вы понимаете, что точные пользователи, которые до их размера шрифта по умолчанию являются людьми, которые не умеют читать меньший отпечаток и, следовательно, изменили его нарочно? – ianhanniballake

+0

Да, я согласен с тем, что настройки предназначены для пользователей. Но это требование. – Ramesh

ответ

1

Наконец-то я получил решение. Google строго рекомендует использовать «sp» для шрифтов. Однако, если вы не хотите, чтобы текст был масштабирован на основе пользовательских настроек шрифта, используйте «dp». Размер шрифта не изменится на данном устройстве, если вы перейдете к настройкам -> шрифты. Ваш пользовательский интерфейс останется таким же, как вы его разработали.

Спасибо Aswin за ваши входы. И благодаря Джозефу Графу для ответа на вопрос на Android sp vs dp texts - what would adjust the 'scale' and what is the philosophy of support

+0

Размер шрифта по-прежнему будет изменяться, если пользователь изменит масштаб отображения, который изменит масштаб dp. – gjsalot

0

Вот как вы можете это сделать, но я не рекомендую его.

float scale = getResources().getConfiguration().fontScale; 
// This scale tells you what the font is scaled to. 
// So if you want size 16, then set the size as 16/scale 
float sizeNeeded = 16.0; 
textView.setTextSize(sizeNeeded/scale); 

Надеюсь, это поможет.

+0

Я прочитал его как, я должен настроить Textview и переопределить setTextSize и добавить этот расчет масштабирования там. Используйте это для всех текстовых просмотров, используемых в приложении. – Ramesh

0

использования йра или погружные вместо зра в TextSize

Смежные вопросы