Obtener la altura del texto incluyendo el tamaño de fuente y establecer esa altura

tengo un texto llamado Hello ahora tengo que aplicar fontsize para esto decir 12 o 18 ahora tan pronto como apliquemos la fuente en el texto aumenta el tamaño del texto.

así que ahora necesito conseguir la altura del texto incluyendo el tamaño de fuente usando la pintura.

He intentado con la pintura lo siguiente:

 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); 

Pero no funciona, por favor ayuda

EDITAR

estoy tratando de establecer la altura de webview dinámicamente basado en el textheight estoy consiguiendo la altura del texto para una sola línea como "Hello" pero si hay dos líneas en el texto "My name is abc and my dads name is xyz and my moms name is 123" now its not getting the proper text height".

Prueba de esta manera:

 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())); 

Aquí está la salida:

 WIDTH : 40 HEIGHT : 14 

Si establezco esto,

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

Mi resultado es:

 WIDTH : 559 HEIGHT : 18 

Puede obtener la altura del texto desde FontMetrics . Es constante para una fuente particular y tamaño de fuente, no importa lo que es la cadena de texto actual.

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

Vea mi respuesta más completa aquí . getTextBounds con FontMetrics en esa respuesta.

  • Android: colorea debajo del gráfico de líneas
  • Cómo establecer un punto de inicio utilizando path () en onDraw () utilizando canvas ..?
  • ¿Cómo dibujo texto en negrita en un mapa de bits?
  • SetShadowLayer Diferencias de la API de Android
  • Opacidad incremental, que desea una opacidad constante Vista de imagen con Drawable
  • Línea dinámicamente generada con brillo efectivo
  • Cepillo personalizado de Android
  • Android - paint.setShadowLayer Omitiendo shadowColor
  • Extraño dibujo de choque en lienzo en Android 4.0.3. A / libc: Señal fatal 11 (SIGSEGV)
  • Cómo llenar el color en la imagen en el área en particular?
  • Detección de color de la imagen de fondo con Android Paint
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.