1

テーブルセルの内容を左右に揃えるのに苦労しています。私のコードは次のとおりです。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TableRow
    android:id="@+id/tableRow4"
    android:layout_weight="1" >

    <ImageButton
        android:id="@+id/button_one"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@null"
        android:scaleType="fitCenter"
        android:src="@drawable/button_one" />

    <ImageButton
        android:id="@+id/button_two"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@null"
        android:scaleType="fitCenter"
        android:src="@drawable/button_two" />
</TableRow>
....

2つのImageButtonを中央にぴったりと合わせたいのですが、現時点ではギャップがあります。各セルがコンテンツの中央に配置されているようです。テーブルは画面のフルサイズに拡大され、上記と同じように合計4行になります。アスペクト比を維持しながら、画像ボタンのサイズを変更して画面全体に表示したいと思います。

画像ボタンに重力を設定しようとしましたが、機能しないようです(数ピクセルだけ移動します)。

4

2 に答える 2

1

scaleType を "fitEnd" と "fitStart" に変更すると、うまくいったようです。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageButton
    android:id="@+id/button_one"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:adjustViewBounds="true"
    android:background="@null"
    android:scaleType="fitEnd"
    android:src="@drawable/button_one" />

<ImageButton
    android:id="@+id/button_two"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:adjustViewBounds="true"
    android:background="@null"
    android:scaleType="fitStart"
    android:src="@drawable/button_two" />

....

于 2012-07-01T14:26:52.990 に答える
1

You are missing android:layout_width="0dp" on the buttons, which will allow the layout weights to function, making each button split the available space equally.

于 2012-07-01T14:25:57.890 に答える