0

テキストと画像を含むリスト ビューを作成しようとしています。レイアウトの塗りつぶしは機能しますがlayout_height="wrap_content"ImageView. リストを埋めると、リスト項目は画像の高さの 2 倍になり、画像自体の上下に多くのスペースができます。ListItem空のスペースを避けて、画像の周りに高さをラップするにはどうすればよいですか?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/product_preview_product"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:gravity="center" />

    <ImageView
        android:id="@+id/product_preview_image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/product_preview_product" />
</RelativeLayout>

getView()変更されたアダプターからのメソッド:

@Override
public View getView(int position, View convertView,
        ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.product_preview, parent, false);
    }

    Product product = getItem(position);

    TextView productText = (TextView) convertView.findViewById(R.id.product_preview_product);
    productText.setText(product.name);

    // load image

    ImageView imageView = (ImageView) convertView.findViewById(R.id.product_preview_image);
    imageView.setImageDrawable(image);

    return convertView;
}
4

3 に答える 3

2

同じ問題に何度も遭遇し、設定

android:adjustViewBounds="true"  
android:scaleType="fitCenter"

私のImageViewsではうまくいきました。試してみてください。AdjustViewBounds へのドキュメントは言う

ドローアブルの縦横比を維持するために ImageView の境界を調整する場合は、これを true に設定します。

于 2013-10-22T09:03:34.233 に答える
0

これを使って

android:layout_width="wrap_content"
android:layout_height="wrap_content"

画像が大きい場合は、ここで適切なサイズを設定してください。

于 2013-10-22T08:47:43.743 に答える