Размер изображения в Android Listview - PullRequest
3 голосов
/ 21 февраля 2012

У меня проблема с моим списком, который содержит ImageView и несколько TextView для каждого элемента.

Более или менее, есть две строки TextViews и одна ImageView (XX), которая должна занимать две строки:

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

Моя проблема - когда я меняю изображение в ImageView.Моя цель - иметь ту же высоту для изображения, что и для двух текстовых изображений вместе.Но мое изображение размером 400x300, вид изображения расширен, чтобы содержать его.Я пытался получить высоту imageView с помощью getHeight или getMeasuredHeight, чтобы изменить размер растрового изображения, прежде чем помещать его в 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" />

...

Спасибо за помощь !!!

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Установите некоторую фиксированную высоту для просмотра изображений и установите тип масштаба для imageView FIT_XY или CENTER_INSIDE. FIT_XY масштабирует ваше изображение до желаемой ширины и высоты, независимо от соотношения сторон, поэтому изображение может растягиваться, CENTER_INSIDE будет масштабировать ваше изображение в заданных размерах, сохраняя соотношение сторон изображения, поэтому изображение может выглядеть меньше, чем доступное пространство.

0 голосов
/ 21 февраля 2012

Вы можете установить LayoutParams кода ImageView в коде, чтобы его высота равнялась TextView1 + TextView3.

...