Динамическое изменение размера текста в соответствии с планшетом
со всеми усилиями, я, наконец, дошел до конца моего первого приложения в android. И спасибо всем. Но после окончания, я понял одну вещь, что мой размер текста приложения является общим для всех размеров планшета. Поэтому я переформулирую свой вопрос.
: я использовал свой собственный размер текста во всем приложении. и некоторые из них удовлетворены 7-дюймовым планшетом. Но когда я ищу то же самое в 8,9 дюйма и 10,1-дюймовый планшет содержащего множество пробелов и размер текста также относительно небольшой. Так есть ли способ изменить размер текста в соответствии с размером планшета??? Это может выглядеть вопрос новичка, но я борюсь с этим, потому что то же приложение, которое выглядит замечательно в 7 дюймах, теряет свою сущность в 8.9 и 10.1 дюймах. Или есть что-то еще, что я мог бы сделать с моим приложением для того же самого. Возможные Решения:- как показывает моя тема, есть ли способ изменить размер текста при изменении размера планшета. Динамически или любой другой путь.
редактировать:: согласно ответу Cheeta, подход правильный, но я не могу сделать это для каждой кнопки макета и текстовых полей и другого поля. Есть сотни полей, как это в одном приложении. Могу ли я сделать это в каком-то одном месте и назвать его обязательным атрибутом. Пользовательский тег-это подход, который я ищу.Возможно ли это????
любая помощь будет оценили. Спасибо заранее.
Примечание я не дошло до ответа, но ответ гепарда несколько ведет к правильному пути. Я отмечаю его ответ как правильный, хотя есть несколько проблем с выравниванием с его ответом. Любой другой ответ всегда приветствуется. спасибо
3 ответов
у меня была такая же проблема, но как я понял sp/db
не эффективны для решения такого рода проблем, я обработал свое выравнивание и размер шрифта, связанные вещи программно.
вот шаги, как я справилась с этой проблемой.
- рассчитать ширину экрана и высоту вашего устройства
- Использовать Set
TextView.setTextSize(unit, size)
, где параметр unit равенTypedValue.COMPLEX_UNIT_PX
и параметр size составляет процент от общей ширины экрана. Обычно, для меня .5% от общая ширина шрифта подходит. Вы можете экспериментировать, пробуя другие проценты общей ширины, такие как 0,4% или 0,3%.
таким образом, ваш шрифт size
будет всегда подходит для каждого размера текста/экрана.
после проверки некоторых ресурсов я, наконец, придумал следующее решение: В макете XML и я определяю размер кнопки-текст объявление измерения:
android:textSize="@dimen/campaign_textfontsize"
Я создал dimens.xml в подкаталоге"/values " -с соответствующим значением
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="campaign_textfontsize">18dp</dimen>
</resources>
затем я создал второе значение-папку "/ values-sw720dp " и скопировал старые dimens.xml в него. В этом тускнеет.xml я адаптировал значение fontsize:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="campaign_textfontsize">24dp</dimen>
</resources>
на основе текущий screensize android выбирает правильное значение dimens. Таким образом, без какого - либо кода шрифт адаптирован к размеру дисплея (и связанной с дисплеем кнопки).
надеюсь, что это помогает...
нет необходимости изменять textsize динамически использовать sp для textsize он автоматически упорядочит размер текста в зависимости от разрешения экрана..как в телефоне.
android:textSize="10sp"