Para dibujar un subrayado debajo de TextView en Android

Quiero dibujar el subrayado debajo de mi TextView . He buscado algunos contenidos pero no pude encontrar nada fructífero.

¿Puede alguien por favor ayudarme aquí?

Hay tres maneras de subrayar el texto en TextView.

  1. SpannableString

  2. SetPaintFlags (); De TextView

  3. Html.fromHtml ();

Permítanme explicarles todos los enfoques:

1er Enfoque

Para subrayar el texto en TextView tienes que usar SpannableString

 String udata="Underlined Text"; SpannableString content = new SpannableString(udata); content.setSpan(new UnderlineSpan(), 0, udata.length(), 0); mTextView.setText(content); 

2º Enfoque

Puede utilizar el método setPaintFlags de TextView para subrayar el texto de TextView.

Por ejemplo,

 mTextView.setPaintFlags(mTextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); mTextView.setText("This text will be underlined"); 

Puede referirse a las constantes de la clase Paint si desea pulsar a través del texto.

3er Enfoque

Hacer uso de Html.fromHtml(htmlString);

 String htmlString="<u>This text will be underlined</u>"; mTextView.setText(Html.fromHtml(htmlString)); 

O

 txtView.setText(Html.fromHtml("<u>underlined</u> text")); 

Sólo rodea el texto con la etiqueta <u> en el archivo de recursos string.xml

 <string name="your_string"><u>Underlined text</u></string> 

Y en su Actividad / Fragmento

 mTextView.setText(R.string.your_string); 

Su trabajo para mí.

 tv.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG); 

Para cualquier persona que todavía mira este querstion. Esto es para un hipervínculo pero se puede modificar para un simple subrayado:

Crear un drawable (hyperlink_underline.xml):

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-10dp" android:left="-10dp" android:right="-10dp"> <shape android:shape="rectangle"> <solid android:color="@android:color/transparent"/> <stroke android:width="2dp" android:color="#3498db"/> </shape> </item> </layer-list> 

Crear un nuevo estilo:

 <style name="Hyperlink"> <item name="android:textColor">#3498db</item> <item name="android:background">@drawable/hyperlink_underline</item> </style> 

A continuación, utilice este estilo en su TextView:

 <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" local:MvxBind="Text Id; Click ShowJobInfoCommand" style="@style/HyperLink"/> 

Si su TextView tiene ancho fijo, la solución alternativa puede ser crear una Vista que se verá como un subrayado y la posicionará justo debajo de su TextView.

 <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/myTextView" android:layout_width="20dp" android:layout_height="wrap_content"/> <View android:layout_width="20dp" android:layout_height="1dp" android:layout_below="@+id/myTextView" android:background="#CCCCCC"/> </RelativeLayout> 
  • Expectativa de puntero nulo de Android en Textview setText
  • Problema al usar una fuente personalizada - "no se puede hacer el tipo de letra nativo"
  • Cómo formatear una actividad de otra actividad mediante opciones de menú
  • Imágenes en TextView
  • ¿Cómo puedo escribir en un archivo .txt en Android?
  • Vista de texto con textos de colores diferentes en código xml
  • El helado de helado de elipse añade [
  • Android: ¿Cómo determinar el índice de caracteres de la posición de un evento táctil en TextView?
  • Ellipse de líneas individuales de SpannableString en un TextView
  • Android HorizontalScrollView con layout_gravity correcto trabajando mal
  • ¿Cómo mostrar el archivo .rtf dentro de TextView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.