2011-09-29 24 views
6

Tengo un PNG de 640 px de ancho y 208 px de alto que he colocado en mi carpeta/drawable y estoy teniendo un momento muy difícil para colocarlo correctamente en un ImageView. Quiero escalar la imagen para que maximice la resolución horizontal, y quiero que se escale verticalmente solo lo necesario para mantenerse en proporción.ImageView dentro de Relative Layout tiene relleno superior e inferior

El problema que tengo es que mi ImageView termina siendo más alta de lo necesario para ajustarse a la imagen. La imagen en sí misma se ve perfecta; tan ancho como la pantalla y en proporción. Pero el ImageView parece tener relleno en la parte superior e inferior. Por lo que puedo decir, es el dibujable que contiene ImageView que en realidad es demasiado alto.

No puedo publicar una imagen porque soy nuevo en SO, pero si lo hiciera sería de la vista Diseño gráfico. Cuando hago clic en ImageView aparece el recuadro azul regular alrededor, pero con relleno en la parte superior e inferior, el mismo relleno que estoy viendo en el dispositivo. Incluso si arrastro el cuadro azul para intentar cambiar el tamaño del ImageView, no puedo hacerlo más pequeño de lo que ya es (quizás porque el ImageView piensa que el dibujable es tan alto, o algo así). Por lo que puedo decir, esto puede tener algo que ver con la densidad de la imagen ... el ImageView termina siendo de 312 píxeles de alto (208 * 1.5) en un dispositivo hdpi.

Aquí es mi XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <ImageView android:id="@+id/back" android:src="@drawable/categoryheader2" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    </ImageView> 
</RelativeLayout> 

Gracias de antemano por cualquier ayuda!

Respuesta

10

Supongo que android:adjustViewBounds = "true" en ImageView debería hacer el truco. Recientemente tuve un problema similar, cuando estaba tratando de scale an image to fit the whole width of the view without loosing its proportions.

+0

pregunta anterior pero sigue apareciendo aquí en mi aplicación, ¡gracias por responder! Lo probaré y aceptaré la respuesta si funciona! –

+0

Es una lástima que no hayas obtenido una respuesta. Pero me salvaste algunas búsquedas gracias – Sidewinder94

+0

Muchas gracias, probablemente es tan estándar saber esto, que muy pocos lo preguntan, para mí, como principiante, me resultó bastante útil. –

1

¿Has probado la etiqueta: android:scaleType="fitXY" o android:scaleType="centerCrop" en tu ImageView?

+0

gracias por su respuesta, pero ninguno de los tipos de escala funciona. fitXY simplemente hace que la imagen sea más alta para ajustarse (eliminando el "relleno" pero ensuciando las proporciones de la imagen), centerCrop también hace que la imagen sea más alta, pero también la hace más amplia para mantenerse en proporción, pero por supuesto ahora los lados están recortados . :( –

Cuestiones relacionadas