Estoy creando una interfaz de usuario para mi aplicación, donde necesito mostrar un párrafo como este

enter image description here

Y para hacer esto, he usado Textview así

<TextView
    android:id="@+id/description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/dp24"
    android:fontFamily="sans-serif-thin"
    android:text="@string/sample_description"
    android:textColor="@color/black"
    android:lineSpacingExtra="@dimen/dp4"
    />

Pero mi salida es así

enter image description here

Si nota en mi salida al final de algunas líneas, queda algo de espacio. Y no lo quiero.

Y si viste en la 1ª imagen no queda espacio al final. Agregaron espacio entre palabras para eliminar el espacio del final.

Entonces, mi pregunta es ¿cómo lograr la salida de la primera imagen?

3
Shivam Jamaiwar 3 oct. 2021 a las 17:37

2 respuestas

La mejor respuesta

Si usa Android 8+, puede obtener la justificación usando

android:justificationMode="inter_word".

Como alternativa, puede utilizar un WebView para colocar su texto en formato HTML:

<string name="sporttext">
<![CDATA[
<html>
 <head></head>
 <body style="text-align:justify;color:gray;background-color:white;">
  This sport shirt is crafted from scratch ...
 </body>
</html>
]]>
</string>
1
Graziano 3 oct. 2021 a las 18:06

Lo que necesita se llama contenido justificado. Puedes lograr esto usando

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:justificationMode="inter_word" />
2
Muhammad Subhan 3 oct. 2021 a las 14:53