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> 
  • ¿Existe tal llamada de método "getBackgroundColor"?
  • Spannable Vs Tipo Vs Html
  • TextView en android sólo muestra dos líneas de texto en cualquier orientación
  • Tamaño de texto de Android por programa demasiado grande
  • Ellipsize no funciona para textView dentro de listView personalizado
  • Cómo configurar la parte de la vista de texto se puede hacer clic
  • Android y & nbsp; En TextView
  • Hacer ellipsized un TextView que tiene LinkMovementMethod
  • Utilizar programaticamente setTextSize en? Attr / textAppearanceLarge
  • Android: ellipsize end - Caracteres adicionales después de la elipse
  • Palabra que se puede hacer clic en TextView en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.