我的 ListView 有问题,其中每个项目都包含一个 ImageView 和几个 TextView。
或多或少,有两行TextViews和一个ImageView(XX)应该走两行:
|XX| TextView 1 TextView 2
|XX| TextView 3 TextView 4
我的问题是当我更改 ImageView 中的图像时。我的目标是使 ImageView 的高度与两个 TextView 的高度相同。但是我的图像是 400x300,imageview 被扩展以包含它。我试图在将位图放入 imageView 之前使用 getHeight 或 getMeasuredHeight 获取 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" />
...
谢谢你的帮助!!!
最佳答案
给imageview设置一些固定的高度,并设置imageView的scale类型为FIT_XY或者CENTER_INSIDE。 FIT_XY 会将您的图像缩放到所需的宽度和高度,而不管纵横比如何,因此图像可能会拉伸(stretch),CENTER_INSIDE 会在给定尺寸内缩放您的图像以保持图像的纵横比,因此图像看起来可能比可用空间小。
关于Android Listview 图片大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376301/