El fondo de TextView se está estirando

Quiero fijar el fondo a un TextView y quiero que el tamaño del TextView esté en el tamaño del fondo y del texto.

Aquí está mi código:

  <TextView android:id="@+id/attackeNameTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="13dp" android:paddingTop="8dp" android:paddingLeft="35dp" android:paddingRight="35dp" android:singleLine="true" android:ellipsize="end" android:textSize="12sp" android:text="thej hhekj hejk hjkesd ks dkl jsalkj dkl" android:background="@drawable/attackee_name_background"/> 

El resultado es que el texto se ajusta dentro del 'cuadro de relleno' muy bien, pero el fondo se estira.

¿Tengo que asignar un layout_width fijo al TextView ?

Si desea que el fondo se ajuste exactamente a su tamaño TextView sin estirar y que el texto encaje dentro, tiene que utilizar una imagen de 9-patch o tiene que establecer un tamaño fijo igual a las dimensiones de la imagen. No hay otras soluciones.

Considere también que el padding reduce el área del cuadro de texto solamente (el fondo no se encoge) mientras que el margin s deja espacio fuera del cuadro TextView .

Así que si la imagen de fondo es (image_width, image_height) y desea dejar un relleno dentro del TextView sin TextView el fondo y sin usar una imagen de 9-patch , debe establecer un tamaño fijo para TextView igual a (image_width+paddingLeft+paddingRight, image_height+paddingTop+paddingBottom) .

EDITAR

Aquí está una manera hacky de hacer lo que quieres …

 <FrameLayout android:id="@+id/frameLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/imageView1" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitCenter" android:src="@drawable/something" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="TextView" /> </FrameLayout> 
  • Establecer ancho a wrap_content para TextView a través de código
  • ¿Cómo obtengo el color de fondo de un TextView?
  • Configuración de un ancho de TextView en java
  • Prevenir salto de línea en TextView
  • Cómo utilizar TextAppearanceSpan
  • Cómo funciona autolink: map work
  • Android Html.fromHtml (String) no funciona para <font color = '#'> text </ font>
  • ¿Existe tal llamada de método "getBackgroundColor"?
  • Android TextView tiene líneas delgadas y finas no deseadas arriba y abajo
  • TextView en android sólo muestra dos líneas de texto en cualquier orientación
  • Ellipsize no funciona para textView dentro de listView personalizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.