Получите высоту текста, включая размер шрифта и установите высоту

У меня есть текст под названием Hello теперь мне нужно применить шрифты для этого, скажем, 12 или 18 сейчас, как только мы применим шрифт к тексту, размер текста увеличивается.

Поэтому теперь мне нужно получить высоту текста, включая размер шрифта, используя краску.

Я попробовал с краской следующее:

 String finalVal ="Hello"; Paint paint = new Paint(); paint.setTextSize(18); paint.setTypeface(Typeface.SANS_SERIF); paint.setColor(Color.BLACK); paint.setStyle(Paint.Style.FILL); Rect result = new Rect(); // Measure the text rectangle to get the height paint.getTextBounds(finalVal, 0, finalVal.length(), result); 

Но он не работает, пожалуйста, помогите

РЕДАКТИРОВАТЬ

Я пытаюсь установить высоту веб-просмотра динамически на основе textheight, я получаю высоту текста для одной строки, например "Hello" но если в тексте есть две строки "My name is abc and my dads name is xyz and my moms name is 123" now its not getting the proper text height".

Попробуйте так:

 String finalVal ="Hello"; Paint paint = new Paint(); paint.setTextSize(18); paint.setTypeface(Typeface.SANS_SERIF); paint.setColor(Color.BLACK); paint.setStyle(Paint.Style.FILL); Rect result = new Rect(); paint.getTextBounds(finalVal, 0, finalVal.length(), result); Log.d("WIDTH :", String.valueOf(result.width())); Log.d("HEIGHT :", String.valueOf(result.height())); 

Вот результат:

 WIDTH : 40 HEIGHT : 14 

Если я установил это,

 String finalVal ="My name is abc and my dads name is xyz and my moms name is 123"; 

Мой выход:

 WIDTH : 559 HEIGHT : 18 

Вы можете получить высоту текста из FontMetrics . Он является постоянным для конкретного шрифта и размера шрифта, независимо от текущей текстовой строки.

 Paint.FontMetrics fm = mTextPaint.getFontMetrics(); float textHeight = fm.descent - fm.ascent; float lineHeight = fm.bottom - fm.top + fm.leading; 

См. Мой более полный ответ здесь . Я сравниваю getTextBounds с FontMetrics в этом ответе.

Intereting Posts
Как настроить пользовательские пространства имен в файле макета в студии Android? Как начать работу с Android из приложения Unity? HTML5 видео удалить значок воспроизведения наложения Android Contacts.CONTENT_STREQUENT_URI выдает SQLiteException на Android 4.1.2 и 4.4.2 Как остановить ProGuard от удаления Serializable интерфейса из класса Как проверить, используется ли встроенная / аппаратная клавиатура? Как предотвратить замораживание приложения PhoneGap в Android при выполнении асинхронного вызова AJAX? Получить String из json с вложенным объектом json и вложенными массивами json с несколькими объектами json, в Android Конфигурация Gradle с многомодульной андроидной библиотекой Json Parsing и Nullable значение int в android Начало работы с календарем Правильный способ обработки кнопки действий вверх? Как выйти из учетной записи Twitter, удалив файлы cookie? Штормовые журналы, но не события (андроид) Использование Bouncy Castle для извлечения информации о сертификате от android