Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
#1

Снова про установку шрифта - Программирование Android

16.10.2014, 19:51. Просмотров 803. Ответов 5
Метки нет (Все метки)

Поискал на форуме, но так и не нашел ответа на один вопрос - каким образом можно программно изменить для конкретного приложения выбор размера шрифта в настройках дисплея.
Там идут, как известно, 4 варианта - мелкий, обычный, крупный, огромный. В приложении есть возможность устанавливать собственный размер шрифта в sp. Если пользователь установил в настройках девайса шрифт размером обычный, то все работает отлично. Но если он изменил его, скажем, на крупный, то текст начинает вылезать за пределы экрана.
Поэтому хочу для приложения принудительно устанавливать обычный размер. Как это можно сделать программно? Ну, или, как программно узнать какой размер шрифта выбрал пользователь? Могу просто коэффициентом учесть его при расчете своего размера шрифта.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2014, 19:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Снова про установку шрифта (Программирование Android):

Где почитать про установку межстраничного баннера - Программирование Android
Добрый день ! Решил установить межстраничный баннер, но не могу найти нормальный ресурс где описывается установка, подскажите пожалуйста...

Снова про распознавание речи - Программирование Android
Доброго времени суток. Помогите, пожалуйста, разобраться начинающему))) Идея такая - при нажатии Button у пользователя запрашивается...

Проверить установку пакета - Программирование Android
Добрый день всем! Меня интересует такой вопрос, у меня есть приложение и в приложение есть игровые монеты, теперь я хочу сделать, чтоб по...

Затирает предыдущую установку приложения - Программирование Android
Доброе утро товарищи. Столкнулся с одной особенностью. В принципе в режиме тестирования меня это не напрягает, но хочется знать...

Как позволить установку приложения на карту памяти? - Программирование Android
Здравствуйте. Возникла необходимость дать возможность переносить программу на SD карту. Видится мне, что делается это в пару кликов,...

Как программно включить установку приложений из неизвестных источников - Программирование Android
Имеется приложение в гугл плэе, думаю реализовать в нем механизм самообновления. Возник вопрос, можно ли программно реализовать включение...

5
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
18.10.2014, 16:56  [ТС] #2
Так как тема была просмотрена уже 35 раз и нет ни одного ответа, то вероятно я неверно сформулировал вопрос.
Попробую раскрыть тему.
Есть TextView фиксированного размера. В этот вьюв выводится определенное число символов. Число символов предварительно рассчитывается с учетом размера шрифта в приложении, который выбирает пользователь, и плотности PPI конкретного девайса.
В коде размер шрифта выставляю так:
Java
1
MyTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize);
Если на смартфоне/планшете пользователя установлен обычный размер шрифта, то все отображается нормально. Если, скажем, крупный, то текст не влезает полностью в TextView.
Изучая эту проблему, я выяснил, что следует вместо SP использовать DP. Вроде бы все верно, ведь SP относится к масштабируемому шрифту, а при dp размер зависит только от PPI девайса. В вышеприведенной строке стал использовать COMPLEX_UNIT_DIP вместо COMPLEX_UNIT_SP, но никакого положительного эффекта не получил. При крупном шрифте текст все равно не влезает в поле.
Подскажите, в какую сторону думать
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
18.10.2014, 22:11 #3
Устанавливать размер шрифта в dp.
0
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
18.10.2014, 22:55  [ТС] #4
Это понятно. Непонятно как это сделать правильно. В layout вообще не указываю размер шрифта, он задается программно в зависимости от установок пользователя и характеристик его смартфона. Я это расписывал в своем втором сообщении. Но задание размерности шрифта через COMPLEX_UNIT_DIP вместо COMPLEX_UNIT_SP не помогает.
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
20.10.2014, 12:07 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно попробовать в манифесте поставить для активити
XML
1
android:configChanges="fontScale"
не знаю, насколько это удачный ход.
2
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
20.10.2014, 16:42  [ТС] #6
Огромное спасибо! Ваша рекомендация помогла!
0
20.10.2014, 16:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2014, 16:42
Привет! Вот еще темы с ответами:

как нажатием на кнопку запустить установку приложения из папки? - Программирование Android
Всем привет :) Вопрос такой - запускаю приложение там есть кнопка "установить новую версию"(файл 111.apk к примеру находится на СД папка...

Как запретить установку приложения на более ранние версии android? - Программирование Android
Свой apk планирую раздавать не только с play.google.com, поэтому фильтровать версии android никто не будет. А при установке приложение на...

Про установку в ХР - Oracle
Здравствуйте!кто читает ,не ругайтесь ,я не чайник .но Ораклом не занимался.Тут необходимость возникла ,но у меня на домашних компах,то My...

Про установку семерки - Windows 7
Добрый вечер... Вот такие характеристики компа amd athlon(tm) 64 x2 dual coreprocessor 3800 2.00 Ghz озу 1гб(895 мб доступно) тип...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru