0

左側に連絡先のアバターを含むアイテムのリストビューがあります。残りのスペースには 2 行のテキストがあり、最初に人の名前が含まれ、2 番目に電子メール アドレス (またはその他のテキスト) が含まれます。

リスト項目のレイアウトを次のようにスタイルしたいと思います。

  • アバター画像はビューの一番左側にあります。左側にはパディングはありません。

  • リスト項目の高さは、2 行のテキストの高さによってのみ決定されます。画像が大きくても小さくても、 imageview はこの高さに一致する必要があります。

  • イメージビューの上部または下部にパディングを配置することはできません。

  • 画像自体が長方形であっても、画像ビューは常に正方形でなければなりません。このような場合、画像は正方形全体を埋めるように「ズーム」する必要があります。垂直方向または水平方向にトリミングすることはできますが、縦横比はそのままにしておく必要があります。

これは、次の基準をすべて満たしている ICS Messaging アプリのスクリーンショットです。

ここに画像の説明を入力

を含むいくつかの SO スレッドを読み、と/の設定android:scaleTypeの多くの組み合わせを試しましたが、うまくいきませんでした。誰でも助けてもらえますか?scaleTypeadjustViewBoundswrapContentmatch_parent

以下は、出発点として使用できる単純化された XML レイアウトです。

<!-- The avatar -->
<ImageView
    android:id="@+id/contactImageView"
    android:layout_width="???"
    android:layout_height="???"
    android:layout_alignParentLeft="true" />

<!-- The 2-row textual layout -->
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/contactImageView"
    android:orientation="vertical" >

    <!-- First row -->
    <TextView
        android:id="@+id/nameTextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <!-- Second row -->
    <TextView
        android:id="@+id/emailTextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

4

1 に答える 1

0

ImageView の幅と高さを修正し、ScaleType を centerCrop に設定すると、まさに必要なものが得られるはずです。

<ImageView
    android:id="@+id/contactImageView"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:scaleType="centerCrop" />
于 2012-12-03T20:34:35.513 に答える