Как измерить высоту TextView на основе ширины устройства и размера шрифта?

Я ищу метод в Android, который будет принимать входные данные (text, text_font_size, device_width) и на основе этих расчетов вернет, сколько высоты потребуется для отображения конкретного текста?

Я устанавливаю время выполнения текстового представления / высоты веб-просмотра на основе его содержимого, я знаю о содержимом деформации, но не могу использовать в моем случае из-за некоторой проблемы минимальной высоты веб-просмотра.

Поэтому я пытаюсь рассчитать высоту и на основании этого я устанавливаю высоту просмотра.

Я пробовал следующими способами

Paint paint = new Paint();
paint.setTextSize(text.length()); 
Rect bounds = new Rect();
paint.getTextBounds(text, 0, 1, bounds);
mTextViewHeight= bounds.height();

Таким образом, выход

1) «Hello World» возвращает высоту 13 для шрифта 15

2) «Последняя версия Jelly Bean здесь с оптимизацией производительности» возвращает высоту 16 для шрифта 15

Тогда я попробовал с

Paint paint = new Paint();
paint.setTextSize(15);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);

Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), result);

Paint.FontMetrics metrics = brush.getFontMetrics();
int totalHeight = (int) (metrics.descent - metrics.ascent + metrics.leading);

Таким образом, выход

1) «Hello World» возвращает высоту 17 для шрифта 15

2) «Последняя версия Jelly Bean с оптимизацией производительности» возвращает высоту 17 для шрифта 15

если я установлю эти значения в моем представлении, тогда будет вырезан какой-то текст, он не будет отображать весь контент

Снова это выглядит хорошо на некоторых столах, поскольку имеет большую ширину, но не на телефоне.

Есть ли способ рассчитать высоту на основе содержимого?

Ответы на вопрос(3)

Ваш ответ на вопрос