Evitar que se rompa la palabra en TextView

¿Cómo puedo evitar que una palabra en un TextView rompa por la mitad cuando no cabe en la línea actual y en lugar de mover a la línea siguiente.

 |android goo| |gle kitkat | 

Debería ser

 |android | |google | |kitkat | 

El TextView se agrega actualmente a un RelativeLayout usando este código:

 TextView tv = new TextView(this); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); float scale = getResources().getDisplayMetrics().density; int dpAsPixels = (int) (16*scale + 0.5f); tv.setPadding(dpAsPixels, 0, dpAsPixels, 0); tv.setLayoutParams(layoutParams); String fullString = "<b>" + user + ":</b> " + text; fullString = fullString.replaceAll("\n", "<br />"); fullString = fullString.replaceAll(" ", "&#160"); tv.setText(Html.fromHtml(fullString)); tv.setTextSize(32f); tv.setTextColor(getResources().getColor(R.color.text)); layout.addView(tv); 

El problema está en la línea siguiente

FullString = fullString.replaceAll ("", "& # 160");

Quítelo y trabajará como usted necesita, usted no necesita substituir el espacio con código del html, fromHtml lo hará para usted

El problema con su código es esta línea:

 fullString = fullString.replaceAll(" ", "&#160"); 

Al hacer esto, reemplaza todos los espacios "normales" por espacios no rompibles ( &nbsp ). Dado que estos espacios son no rompibles , evitan un salto de línea.

Sólo eliminar esta línea y las palabras no se rompen por la mitad más.

Añadir

 android:scrollHorizontally="false" 

A su entrada TextView en su XML o llame al

 setHorizontallyScrolling(false); 

Docs aquí .

Podemos utilizar Webview en algunos casos y justificar la ayuda de texto de html / css y luego establecer el texto.

  • Android: matriz de vistas de texto
  • Android: obtener utilizando Textview.SetText (characterSequence)
  • Cómo colocar textview con x, y posición
  • Espaciado de línea individual para cada línea
  • Dos elementos XML con id id
  • Android TextView: establecer dinámicamente el color de fondo no funciona
  • Android cómo hacer TextView texto en negrita cuando se presiona o centrado
  • Android TextView no actualiza su texto cuando textIsSelectable está establecido en true
  • Android: ¿define TextView TextStyle mediante programación?
  • Cómo cambiar el estilo de un TextView en tiempo de ejecución
  • Cómo actualizar un TextView mientras se realiza un bucle en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.