Cómo agregar mediante programación ImageView en LinearLayout sin espacios adicionales?

Estoy intentando agregar ImageView programatically dentro de un LinearLayout, que tiene orientación vertical. Mi archivo de diseño se describe como el xml siguiente:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="5dip" android:id="@+id/mainView""> <TextView android:id="@+id/tvTituloInformacao" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="20sp" android:textStyle="bold" android:textColor="@color/white" android:gravity="center_horizontal" android:shadowColor="@color/black_translucent" android:shadowDx="2.0" android:shadowDy="2.0" android:shadowRadius="3.0" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" /> <LinearLayout android:id="@+id/resourceContainer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" android:layout_marginBottom="10dip" android:padding="3dip" android:orientation="vertical" android:gravity="center_horizontal" android:layout_below="@+id/tvTituloInformacao" android:background="@color/black_translucent2" /> </RelativeLayout> 

Y mi código fuente de java que agrega el ImageViews al LinearLayout es como sigue:

 for(Resource r : mUser.getPictures()) { ImageView img = new ImageView(this); img.setVisibility(View.VISIBLE); img.setTag(r.getThumb60()); imageLoader.DisplayImage(r.getThumb60(), this, img); ((LinearLayout) tempFotosView.findViewById(R.id.resourceContainer)).addView(img); } 

Lo que sucede es que antes y después de cada ImageView recibo algunos espacios adicionales que no deberían estar allí, por lo que la altura del contenedor de imágenes aumenta mucho. Una prueba que hice y conseguí el resultado esperado no era usar el imageLoader y en lugar de otro fijé el ImageResource programatically a un archivo de imagen estático. De esta manera no conseguí ningún espacio extra.

El resultado extraño se ilustra en la siguiente imagen:

Introduzca aquí la descripción de la imagen

¿Hay alguna manera de no agregar este espacio extra?

Creo que las imágenes que está cargando en las vistas de imagen pueden tener un cierto espacio adicional en la parte superior e inferior, y otra suposición de que está cargando imágenes en la vista de la imagen, con diferente resolución que el tamaño de la pantalla, y la configuración scaleType de ImageView a centerInside, si es la Caso por favor intente usar siguiente fijando la altura de la opinión de la imagen también, y ajuste el scaleType a fijXY.

Esto sucede cuando la imagen es más ancha que el tamaño de la pantalla después de que se haya construido ImageView. Android reduce las dimensiones de la imagen según la relación de aspecto, pero no elimina el espacio asignado que lo rodea anteriormente.

Para obtener una solución más limpia, pruebe este código después de su imageLoader.

  ((LinearLayout)findViewById(R.id.resource)).add(img); 
  • ¿Cómo crear una vista personalizada simple?
  • Android cómo dibujar un rect rectangular y sombra Layout
  • Android: cómo hacer que no haya espacio entre el botón 2 en un lineal horizontallayout
  • ¿Cómo puedo agregar barras de desplazamiento a un LinearLayout en Android?
  • Droid: ¿Cómo reordenar un contenido linearlayouts programáticamente?
  • fije el ancho y la altura como porcentaje en el diseño relativo
  • La barra de herramientas de Android se mueve hacia arriba cuando aparece el teclado
  • Cómo establecer un tema diferente en un diseño
  • RecyclerView 23.2.x height = 0dp hace que onBind llame a todos los elementos y scrollToPosition no funciona
  • RelativeLayout devuelve LinearLayout LayoutParams
  • Establecer dos botones a la misma anchura independientemente del tamaño de la pantalla?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.