169 похожих чатов

Пытаюсь вычислить высоту текста в textView: https://stackoverflow.com/questions/6734301/get-the-size-of-a-text-in-textview/23923053#23923053 Работает, пока нет переносов. Решение

для textView с переносами уже не работает (по-крайней мере, в Android 9): https://stackoverflow.com/questions/14386584/getmeasuredheight-of-textview-with-wrapped-text


Знает кто-нибудь, как всё-таки вычислить высоту текста textView с учётом строки, разбитой переносами? 😕

17 ответов

26 просмотров
ԤИОНЕР- Автор вопроса

В общем, нельзя так, да? 😶

А в пикселах не пойдет?

То есть берем textView, вызываем у него layoutParams, и хватаем из него height?¯\_(ツ)_/¯

Если надо в dp, то для этого есть соответствуюшие методы базовых библиотек

Если мой ответ устроит, то я не откажусь от репутации на стакОверФлоу.

ԤИОНЕР- Автор вопроса

В смысле "не пойдёт"? Так я ж и пытаюсь безуспешно вытащить высоту текста в пикселях — только чтобы высота правильно посчитана была. А то решения по ссылкам даже 100 слов, разбитых на 10 строк, считают за одну 😐

Попробуйте так val tv = findViewById<TextView>(R.id.tv_address) val layPar = tv.layoutParams val height = layPar.height val heightInDp = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, height, resources.displayMetrics)

ԤИОНЕР- Автор вопроса

Спасибо, сейчас попробую. Если получится конвертировать это на Delphi — отпишусь о результате 👍

Лучше tv.height как фактическую высоту

ԤИОНЕР- Автор вопроса
ԤИОНЕР- Автор вопроса

Перевёл на свой, спасибо ещё раз! Но что-то не то он возвращает (кажется, это текущий скейл).

Если вопрос к числу то double приведенный к десятичному без разумного округления именно так и выглядит

ԤИОНЕР- Автор вопроса

Без проблем. Я округлю через Round или Trunc, не вопрос. Но здесь же высота как минимум на несколько десятков (если вообще не на сотню) пикселей, разве нет? 🤔

Ну не знаю какая там задача. На глаз 80 дп, пикселей 300 на типичном аппарате

Layout params дает пиксели а 2.5 вероятно пересчет их в dp для данного аппарата

ԤИОНЕР- Автор вопроса

Да нет никакой задачи. Просто узнать текущую высоту текста — и всё.

Берешь и запрашиваешь у элемента где он находится (если нужен весь элемент) getHeight. Только в тот момент когда он уже известен и все на экране устакнилось, иначе там ноль. Или переопредеояешь у вью с текстом onDraw и запрашиваешь высоту канвы

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта