Tengo un diseño que contiene algunos campos de texto y tiene una imagen de fondo que se muestra en la parte superior de mi actividad. Me gustaría que la imagen de fondo se escale para envolver el contenido (no me importa la relación de aspecto). Sin embargo, la imagen es más grande que el contenido, por lo que el diseño en su lugar ajusta la imagen de fondo. Aquí está mi código original:Imagen de fondo de escala para ajustar el contenido del diseño
<RelativeLayout
android:layout_width="fill_parent"
android:id="@+id/HeaderList"
android:layout_gravity="top"
android:layout_height="wrap_content"
android:background="@drawable/header">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/NameText"
android:text="Jhn Doe"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="4dp"
android:paddingTop="4dp"
/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:layout_alignParentLeft="true"
android:id="@+id/HoursText"
android:text="170 hours"
android:textSize="23sp"
android:layout_below="@+id/NameText"
android:paddingLeft="4dp"
/>
</RelativeLayout>
Después de buscar en algunas otras preguntas, me encontré con estos dos:
How to wrap content views rather than background drawable?
Scale a Drawable or background image?
Con base en esto, he creado un FrameLayout w/un ImageView mostrando el fondo. Desafortunadamente, todavía no puedo hacer que funcione. Quiero que la altura de la imagen de fondo se reduzca/expanda con el tamaño de las vistas de texto, pero con FrameLayout, el ImageView se ajusta al tamaño de su matriz, y no puedo encontrar la manera de que el padre se ajuste a el tamaño del diseño de vista de texto. Aquí está mi código actualizado:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView android:src="@drawable/header"
android:layout_width="fill_parent"
android:scaleType="fitXY"
android:layout_height="fill_parent"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:id="@+id/HeaderList"
android:layout_gravity="top"
android:layout_height="wrap_content"
>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/NameText"
android:text="John Doe"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="4dp"
android:paddingTop="4dp"
/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:layout_alignParentLeft="true"
android:id="@+id/HoursText"
android:text="170 hours"
android:textSize="23sp"
android:layout_below="@+id/NameText"
android:paddingLeft="4dp"
/>
</RelativeLayout>
</FrameLayout>
¿Alguien tiene alguna sugerencia sobre la mejor manera de hacer una escala de la imagen al tamaño de los contenidos de algún diseño? No me preocupa la relación de aspecto de la imagen, ya que no importará, solo quiero que llene el fondo.
Gracias!
Dos años después y todavía no hay una respuesta aceptable. ¿Has encontrado una solución? – jfcartier
El mismo problema aquí, casi no creo que haya una solución. Debemos estar cuidando el Wrong Thing (TM). –