Android Listview图片大小

时间:2012-02-21 10:54:49

标签: android image listview relativelayout image-size

我的listview有问题,其中包含ImageView和每个项目的一些TextView。

或多或少,有两行TextView和一行ImageView(XX)应该采用两行:

|XX| TextView 1     TextView 2
|XX| TextView 3     TextView 4

我的问题是我在ImageView中更改图像。我的目标是使imageview的高度与两个textview的高度相同。但是我的图像是400x300,图像视图被扩展为包含它。我试图用getHeight或getMeasuredHeight来获取imageView的高度,然后在将它放入imageView之前调整位图大小,它不起作用。

我对listview的布局是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageView
    android:id="@+id/list_poi_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop"
    android:contentDescription="@string/points_of_interest_activity_image_content_description" />

<TextView
    style="@style/CarloText"
    android:id="@+id/list_poi_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/list_poi_image"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    style="@style/CarloText"
    android:id="@+id/list_poi_description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/list_poi_name"
    android:layout_below="@+id/list_poi_name"
    android:textAppearance="?android:attr/textAppearanceMedium" />

...

谢谢你的帮助!!!

2 个答案:

答案 0 :(得分:3)

为imageview设置一些固定高度,并设置imageView FIT_XY或CENTER_INSIDE的缩放类型。无论纵横比如何,FIT_XY都会将图像缩放到所需的宽度和高度,因此图像可以拉伸,CENTER_INSIDE将在给定尺寸下缩放图像,保持图像的纵横比,因此图像可能看起来比可用空间更小。

答案 1 :(得分:0)

您可以在代码中设置LayoutParams的{​​{1}},使其高度等于ImageView + TextView1