我正在为Android编写一个应用程序,我遇到了下一个问题:
我需要显示下载的图像通过Http到一个列表视图中包含和ImageView和文本。两者或它们都包含在LinearLayout中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imagenEvento"
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:paddingBottom="2dp"
android:contentDescription="@string/contenidoImagen"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:padding="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/titulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="17sp"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/sitio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/fecha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
我动态地加载不同大小的图像,但是当我加载其中的一些图像时,我的ImageView的大小会受到影响,它不会考虑我的高度和宽度声明。
我试着设置最大和最小尺寸,我在代码中定义了布局参数,设置了填充底部,调整了位图,但都不起作用。
在下一张图片中,黄色圆圈显示相同的空间,红色圆圈显示ImageView和行http://imageshack.us/photo/my-images/32/csww.jpg/底部之间的不同空间
我遗漏了什么?
发布于 2013-07-22 19:58:21
你可以试试这段代码。如果此方法有效,则可以使用相对布局,并将所有图像视图和文本放入一个布局中,然后尝试在相对布局中进行调整
<ImageView
android:id="@+id/imagenEvento"
android:layout_width="80dp"
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:paddingBottom="2dp"
android:contentDescription="@string/contenidoImagen"
/>或
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray"
android:layout_alignParentTop="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/imageView1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:text="Content Name" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:text="29/02/2009" />
</RelativeLayout>
</RelativeLayout>

发布于 2013-07-22 19:52:13
如果你想要特定尺寸的ImageView,为什么要使用android:adjustViewBound?使用android:adjustViewBound,你的ImageView会改变它的大小来保持图像的纵横比。
如果你想用真的80x80显示你的图片--移除android:adjustViewBound并把scaleType改成centerCrop。这样,图像将尽可能缩小,因此两个维度都将触及ImageView边界,其余部分将被裁剪。
或者使用scaleType="centerInside“,如果你想让图像完全可见(这样看起来会更丑陋,100%保证:D)
无论哪种方式,android:adjustViewBound都必须去掉。
https://stackoverflow.com/questions/17786420
复制相似问题