#android #xml
Сделал кнопку в ней текст , но когда запускаю на экранах входящих в диапазон Small, например Nexsus_s, текст становится в две строки. На сколько я знаю размер текста не спроста считается в sp и должен сам масштабироваться. Ну выходит дело в том, что моя кнопка позволяет тексту расползтись. Если вместо 28 dp высоту установлю по содержимому, то кнопка становится слишком большая. `` Вот вся верстка целиком: Получается на маленьком экране вот так : https://gyazo.com/33a89a7d85c5b06f5affadc6a918fff1 А на больших: https://gyazo.com/1d24ac4d8f0d463f74b4f092aadfab24
Ответы
Ответ 1
Это происходит из за того, что текст целиком не входит в границы, указанные для виджета и система удаляет текст начиная от последнего пробела (зачем она так делает - вопрос филосовский). Есть несколько способов решить эту проблему (текст должен быть в одну строку, но на маленьких экранах он не входит): 1) Для маленьких экранов выводить другой текст (более короткая фраза, сокращения) Преимущества: заранее известный результат, нормальный размер текста для чтения Недостатки: явных нет Создаем папку res/values-hdpi/ (или с другим квалификатором, на плотности которого имеются проблемы с текстом) создаем там файл strings.xml где пишем альтернативный, более короткий текстДля виджета указываем текст в виде ресурса: по возрст. 2) Доверяем сокращение системе: Достоинства: то же, что и первый вариант Недостатки: неизвестно, как именно сократит система и будет ли это понятно в итоге 3) Уменьшаем размер текста для проблемного экрана Достоинста: сохраняется весь текст Недостатки: чтобы вместить весь текст, шрифт может быть очень маленький и плохо читаться Создаем папку res/values-hdpi/ создаем там файл dimens.xml где указываем размер текста Указываем значение для виджета: 10sp 4) Используем более компактную компоновку экрана, например в вашем случае можно использовать Spinner с выбором вариантов сортировки PS: Для первого и третьего вариантов так же обязательно должно быть указано значение по умолчанию, которое необходимо поместить в папку без квалификаторов (res/values/), файлы оформляются аналогично, значения в файлах соотвествуют нормальным условиям: текст - "по возрастанию", размер шрифта - 14sp, например.
Комментариев нет:
Отправить комментарий