如何在没有额外空格的情况下以编程方式在LinearLayout中添加ImageView?

Thi*_*ago 5 android android-layout android-linearlayout android-imageview

我试图以编程方式在具有垂直方向的LinearLayout中添加ImageView.我的布局文件被描述为下面的xml:

<?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>
Run Code Online (Sandbox Code Playgroud)

我将ImageViews添加到LinearLayout的java源代码如下:

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);
}
Run Code Online (Sandbox Code Playgroud)

会发生什么事情是在每个ImageView之前和之后我得到一些不应该存在的额外空间,因此图像容器的高度增加了很多.我做了一个测试并得到了预期的结果是不使用imageLoader而是我将ImageResource以编程方式设置为静态图像文件.这样我没有得到任何额外的空间.

奇怪的结果如下图所示:

在此输入图像描述

有没有办法不添加这个额外的空间?

jee*_*eet 3

我认为您在图像视图中加载的图像可能在顶部和底部有一些额外的间距,并且其他假设您在 imageview 中加载图像,其分辨率与屏幕尺寸不同,并将 ImageView 的scaleType设置为centerInside(如果是)如果是这样,请尝试使用以下方法固定图像视图的高度,并将scaleType设置为fixXY。