3

我的列表视图有问题,其中每个项目都包含一个 ImageView 和几个 TextView。

或多或少,有两行 TextViews 和一个 ImageView (XX) 应该占用这两行:

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

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

我的列表视图布局是:

<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" />

...

谢谢你的帮助!!!

4

2 回答 2

3

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

于 2012-02-21T11:00:51.480 回答
0

您可以设置in 代码LayoutParamsImageView,使其高度等于TextView1+ TextView3

于 2012-02-21T11:04:02.477 回答