2012-08-07 17 views
8

He visto MUCHAS preguntas en Stackoverflow y he intentado muchas soluciones, pero aún así no funcionó.Cambiar el tamaño de la imagen para que quepa en Imageview

Lo que quiero lograr:

enter image description here enter image description here

Sin embargo, yo estoy logrando esto:

enter image description here

Ésta es mi actual código XML:

<ImageView 
    android:id="@+id/image" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/text" 
    android:layout_gravity="center" 
    android:adjustViewBounds="true" 
    android:scaleType="centerInside" 
    android:src="@drawable/ic_action_search" /> 

Respuesta

1

CenterInside, Redimensionar imagen de acuerdo Para ver las dimensiones y sus Resoluciones. Entonces, si una imagen tiene un tamaño de 300 * 450 y hemos configurado esta imagen para una vista de la imagen de tipo de escala centerinside, con dimensiones 200 * 400, entonces el tamaño de la imagen será de 200 * 300, según las dimensiones del objetivo, por lo que escala abajo hace que 200 sea mínimo en ancho y alto. Espero ser lo suficientemente claro En los casos en que necesite establecer dimensiones de tamaño exacto, use FItXY, tal como lo sugiere Adeel.

3

La mejor manera de lograr esto es escalar la imagen (mapa de bits) usando una matriz.

Una alternativa es utilizar una biblioteca que previamente creado, que lo hace por usted:

https://github.com/laurencedawson/ZoomableImageView

Este escalará automáticamente la imagen al tamaño de la pantalla y también añadir pellizcar para ampliar.

+0

¿Cómo hago para usarlo? ¿Hay algún tutorial o código de ejemplo? Porque lo estoy usando para cargar imágenes en listview con lazyload class. ¡Gracias! – MrYanDao

+0

Ah, lo siento, no me di cuenta de que estaba usando una vista de lista, podría no ser la mejor opción (debido al desplazamiento vertical). Si echas un vistazo al código de dibujo y escala, debería ayudarte. – Ljdawson

+0

¡Muy bien! Muchas gracias ^^ – MrYanDao

2

añadir

<ImageView 
android:id="@+id/image" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:layout_below="@+id/text" 
android:layout_gravity="center" 
android:adjustViewBounds="true" 
android:scaleType="fitXY" 
android:src="@drawable/ic_action_search" /> 
0

Usted desea hacerlo dentro del archivo XML correcto?

<ImageView 
android:layout_width="size of image (in density pixels)" 
android:layout_height="size of image (in density pixels)" /> 

así por ejemplo:

<ImageView 
android:layout_width="60dp" 
android:layout_height="60dp" /> 
Cuestiones relacionadas