7

My Tablet アプリは、(カスタム カーソル アダプターを使用して) 各項目に複数の TextViews を持つ ListView を表示します。約 6 ~ 7 列あります。すべての列に均等なスペースを与えるにはどうすればよいですか?

今私は試しました:

  • すべての TextView で同じ重み。しかし、これは決して適切に調整されていません。
  • 1 番目と一緒に最大幅を使用しましたが、まだ運がありません。1 つは簡単にオーバーフローして、次のものを右に押すことができます。

    <TextView
        android:layout_width="20dp"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:text="column 1"
        android:textSize="22sp" />
    
4

5 に答える 5

14

重みは問題ありませんが、レイアウトの重みを使用するたびに設定する必要があります。そうしないと、ビューが適切に拡大縮小されない可能性がありますandroid:layout_width0dp

また、固定幅とレイアウトの重みを混在させないでください。重みを使用する場合は、行レイアウトのあらゆる場所で重みを使用してください。

于 2012-08-03T16:26:33.820 に答える
3

Androidで固定の幅と高さを使用することはお勧めできません。Androidにレイアウトを任せてください。異なる行のアイテムを適切に整列させるために、重み付きのlinearLayoutを使用できます。「android:width = 0dp」を使用し、重みを使用してさまざまなフィールドのディメンションを設定します。別のアプローチはTableLayoutを使用することですが、それはちょっと注意が必要です。ただし、機能します。

于 2012-08-03T16:28:19.097 に答える
0

私の場合(エラーログビューの場合)、5から4列(TextViews)の幅を指定し、1(エラーの説明のあるディドルで)使用可能なすべてのスペースを取るためにweight = 1を取得しました。見栄えが良く、パフォーマンスのラグはありません。

于 2012-08-03T16:32:17.127 に答える
0

行のあるテーブル レイアウト。テーブルの全体的な考え方は等距離です。

于 2012-08-03T16:26:17.207 に答える