0

いくつかの TableRows を含む TableLayout があります。各行には 2 つの TextView があります。1 つ目は説明テキストを表示し、2 つ目は数値を表示します。例えば:

| Text |.0.|
| Text2|.0.|
| ...  |.0.|

私は同じ重みの TextViews を持っています。重心は行自体とそれぞれの両方に集中してTextViewいますが、アプリの実行中にテキストが変更されると、要素がシフトし、整列しなくなります。したがって、次のようになります。

| Text |..0|
| Text2|..0|
| ...  |..0|

ここで、値は最初の場所ではなくなりました。テキストが変更されている間、値をそのままにしておきたいです (最も長いテキストは、数字に近づくほど長くありません)。また、フォーマットをきれいに保ち、SDK レベルをできるだけ低くしたいと考えています (現在は 8 です)。

サンプル xml コード:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/TableLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="8"
    tools:context=".Name" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right" />
    </TableRow>

    // This is the start of where the descriptive text and their values are

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <TextView
            android:id="@+id/textView2-1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center" />

        <TextView
            android:id="@+id/textView2-2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center" />
     </TableRow>
... // etc

重みを変更しようとしました (最初の重み 9 と 2 番目の重み 1 を割り当てますTextView) が、うまくいきませんでした。テキストが変更されたときに、それが何であるかに関係なく(空の文字列 "" を含む)、すべての数字を並べてシフトしないようにしたいと思います。

何か案は?

4

1 に答える 1

0

ドキュメントでこれを探していると思います

TableLayout.setShrinkAllColumns(boolean shrinkAllColumns)

TableLayout.setStretchAllColumns(boolean stretchAllColumns)
于 2013-01-30T03:32:57.193 に答える