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 ответов

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

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

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

То есть берем 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 и запрашиваешь высоту канвы

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
Всем привет, после Си стоит учить плюсы или лучше на раст перейти?
Linus
8
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
Карта сайта