2011-07-28 14 views
2

ListFragment私はListAdapterというカスタムと、画像を遅延読み込みし、左側の画像と右側のテキストで表示しています。ListFragment画像のサイズが変更されました

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/image" 
     android:maxWidth="80dp" 
     android:adjustViewBounds="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:padding="10dp" 
     android:textSize="16sp" 
     android:gravity="left|center_vertical" /> 

</LinearLayout> 

、これはすべての作業罰金ですが、私は、リストの項目をクリックして、そのフルサイズの画像で、ほとんどの時間のリストが表示され、バッククリックすると:私はこのようなルックスを使用しているカスタムリストアイテム指定された80dp幅ではありません。しばらく待ってから戻ると、リストが正しく読み込まれることがあります。

私はこれをどのように修正できるか知っていますか?画像を常に80dpの幅で表示したい。ありがとう。

答えて

1

これは、さまざまな幅と高さの画像を使用する方法です。すべての画像を85x85に強制的に切り取ります。

<ImageView 
     android:src="@drawable/some_img" 
     android:layout_width="85dip" 
     android:layout_height="85dip" 
     android:scaleType="centerCrop" 
    /> 

centerCropまたはcenterInsideのいずれかを使用するとよいでしょう。

android:adjustViewBounds="true"が表示されている問題を引き起こしていると、私は驚くことはありません。

別の可能な犯人は、あなたの答えをwrap_content

+0

こんにちは、おかげでなければなりませんTextViewandroid:layout_height="fill_parent"を設定しているということです。私は画像をトリミングしたくない、私はそれを拡大したい。 'adjustViewBounds'は' ImageView'がスケーリングされたイメージと同じだけのスペースを占有することを確認します。そうでなければ元のイメージの比率を保持します。 'TextView'の高さは' fill_parent'に設定されていますので、私はそれを垂直に配置することができます - このwrapdは 'wrap_text'と' layout_gravity'でも可能です - これから試してみます – Pikaling

+0

'fill_parent'から 'wrap_content' '助けてくれなかった、画像はまだフルサイズにスケールを維持します。 – Pikaling

+0

私は 'android:adjustViewBounds =" true "'を削除しようとしましたが、違いはありませんでした。 – Pikaling

関連する問題