¿Por qué se envuelve el contenido en la línea múltiple TextView fill parent?

Tengo una vista de texto de varias líneas definida en android:layout_width="wrap_content" que, cuando se procesa, toma todo el ancho disponible del padre. Cuando el texto puede caber en una línea, el wrap_content funciona bien, pero en dos o más líneas, la vista de texto parece coincidir con el ancho de los padres, dejando lo que parece relleno a cada lado.

Debido a que el texto no puede encajar en una línea, ¿es la vista de texto asumiendo que requiere toda la anchura disponible? Quiero que la vista esté limitada por las dimensiones más pequeñas posibles.

¿Algunas ideas?

Para referencia, aquí está la definición del diseño:

 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:singleLine="false" android:textSize="24sp" android:textStyle="bold" android:textColor="@color/white" android:gravity="center_horizontal" /> 

Tuve el mismo problema también … Usted puede utilizar personalizado TextView con el método sobreescrito onMeasure () donde se calcula el ancho:

 public class WrapWidthTextView extends TextView { ... @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); Layout layout = getLayout(); if (layout != null) { int width = (int) Math.ceil(getMaxLineWidth(layout)) + getCompoundPaddingLeft() + getCompoundPaddingRight(); int height = getMeasuredHeight(); setMeasuredDimension(width, height); } } private float getMaxLineWidth(Layout layout) { float max_width = 0.0f; int lines = layout.getLineCount(); for (int i = 0; i < lines; i++) { if (layout.getLineWidth(i) > max_width) { max_width = layout.getLineWidth(i); } } return max_width; } } 
  • Cómo cambiar un icono de TextView programaticamente?
  • Detectar si TextView en ListView está ellipsizado
  • Extensión de Spanned, SpannedString, Spannable, SpannableString y CharSequence de Android
  • ¿Cómo ejecutar continuamente el efecto de sombra a través de textos en la vista de texto de Android?
  • RequestFocus no funciona
  • El texto extensible no funciona en el fragmento de diálogo
  • Handle hace clic en los vínculos de TextView mientras utiliza Linkify para encontrar y establecer los vínculos dentro del texto
  • ¿Hay una manera fácil de agregar un borde a la parte superior e inferior de una vista de Android?
  • Eliminar el fondo de una vista de texto
  • Cambio de tipo de texto justificado
  • Ajusta el diseño cuando se muestre o se oculte el teclado virtual de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.