Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
znseday
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 483
1

Подогнать размер текста под прямоугольник

16.04.2015, 01:58. Просмотров 602. Ответов 7
Метки нет (Все метки)

Рисую и печатаю текст на канве. Имеется прямоугольник с заданными размерами в пикселях (например, 150 на 80). И есть строка с текстом.
Как подогнать размер шрифта, чтобы текст гарантировано уместился в заданном прямоугольнике (естественно, размер текста нужен максимально возможный)?
Есть для этого специальные методы/классы? Или самому в цикле гонять все возможные размеры шрифта (мне по силам это написать, но это же дикое падение в производительности будет)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2015, 01:58
Ответы с готовыми решениями:

Подогнать размеры под экран
подскажите почему в eclipse он показывает что все нормально видно а когда на смарт закидываю не...

Как подогнать ряд кнопок в TableLayout под ширину экрана?
День добрый. Пишу игру простенькую Крестики-нолики. Поле состоит квадрата 3x3 из Кнопок, которые...

Размер текста
import java.util.ArrayList; import android.app.ListActivity; import android.database.Cursor;...

Размер картинки под виджет
В виджете только ImageButton, какой должен быть размер картинки, чтобы она была в квадрате 1х1...

Размер текста из array
Подскажите как задать размер тексту из ресурсов array =data public class TitleAdapter extends...

7
krapotkin
3414 / 3021 / 1047
Регистрация: 14.04.2014
Сообщений: 14,660
Записей в блоге: 15
16.04.2015, 09:20 2
даже некая системная функция здесь шла бы путем подбора
так что можно только оптимизировать - выбор самого крупного символа для подбора по константе, деление вариантов пополам и т.д.
0
Pablito
2722 / 2165 / 735
Регистрация: 12.05.2014
Сообщений: 7,572
Завершенные тесты: 1
16.04.2015, 09:22 3
я точно помню, что на форуме этот вопрос обсуждался в прошлом году и было решение
но искать по форуму предлагаю самостоятельно
0
znseday
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 483
16.04.2015, 11:41  [ТС] 4
krapotkin, честно говоря, я не знаю, как именно устроены шрифты, но смею предположить, что в шрифтах может содержаться размер ширины символа в зависимости от его высоты. Т.е. теоретически какая-нибудь системная функция могла бы вычислять размер шрифта на основе информации о ширине символа и соотношения высоты/ширины символа.

Добавлено через 1 минуту
Методом деления пополам я реализовывал как-то очень давно, еще под Виндус, и тогда не было требований к производительности программы.
0
krapotkin
3414 / 3021 / 1047
Регистрация: 14.04.2014
Сообщений: 14,660
Записей в блоге: 15
16.04.2015, 12:09 5
http://startandroid.ru/ru/uroki/vse-...nie-tekst.html
0
znseday
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 483
16.04.2015, 13:35  [ТС] 6
krapotkin, спасибо за ссылку, но ответа на мой вопрос там нет.
0
krapotkin
3414 / 3021 / 1047
Регистрация: 14.04.2014
Сообщений: 14,660
Записей в блоге: 15
16.04.2015, 13:46 7
// ширина текста
width = fontPaint.measureText(text);
// посимвольная ширина
widths = new float[text.length()];
fontPaint.getTextWidths(text, widths);

вот ширина. если получилось больше, фонт делаем -50 %
если меньше +50%

что не так????
0
znseday
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 483
16.04.2015, 16:34  [ТС] 8
Цитата Сообщение от krapotkin Посмотреть сообщение
что не так????
Все так. Я писал выше, что это мне понятно, и я так уже раньше делал.
0
16.04.2015, 16:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2015, 16:34

Изменить размер изображения под телефон
Всем привет, у меня такая проблема в данный момент: у меня есть картинка размером 1200 x 800 и мне...

Title. Изменить размер текста
Здравствуйте. Какой атрибут можно использовать, что бы установить свой размер текста "Теория"?...

Как сменить размер текста у Spinner
Здравствуйте! Как сменить размер текста у Spinner`а?


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

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

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