2

スムーズにスクロールしたいリストビューを作成しています。

現在、XML ファイルの行を設計していますが、どのレイアウト ビューを選択すればよいか迷っています。次のような行レイアウトが必要です。

ここに画像の説明を入力

私の場合ImageViewは左側に があり、次に が 2 行重なってTextViewいます。(その写真のオーブは必要ありません

では、最も効率的な (描画に関して) 使用するレイアウトは何ですか? 私が検討しているオプションは、、TableLayoutおよびRelativeLayoutLinearLayout水平)です。


追加情報: 私のリスト アダプターは既に非常に効率的であり、ビューホルダー パターンと、テキストの事前計算TextViewおよびその他の最適化を使用して、そこで最大の効率を得ています。この質問は特にリスト行のレイアウトに関するものでしたが、ご協力をお願いします!

4

2 に答える 2

1

RelativeLayoutすべてのコンポーネントを配置する場所を選択できるように、を使用することをお勧めします。基本的に、左側に画像ビュー、次に2つのテキストビューを上下に配置します。オプションで、右側の画像。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="100dip"
    android:padding="3dip" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/icon" />

    <TextView
        android:id="@+id/first_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/image"
        android:layout_toRightOf="@+id/image"
        android:textSize="30dp"
        android:textColor="#ffffff"
        android:text="Medium Text" />

    <TextView
        android:id="@+id/second_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/first_txt"
        android:layout_below="@+id/first_txt"
        android:textSize="20dp"
        android:textColor="#0481ab"
        android:text="Small Text"/>


    <ImageView
        android:id="@+id/right_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/icon" />



</RelativeLayout>
于 2013-02-03T18:47:39.237 に答える
0

次のことを試すことができます。

  1. を使用してSpannable、すべてのテキストを1つのマークアップとして表示しますTextView
  2. CompoundDrawable右の画像(?)は上記の右として設定できますTextView
  3. android:drawingCacheQuality="low"背景に派手なグラデーションがない場合に設定します。
  4. getView()オーバーライドした場合は、アダプタで重いことをしないでください。
于 2013-02-03T19:00:41.033 に答える