2

我正在尝试在 Android 中使用 XML 将表格行居中,但我遇到了一个问题,即对于我的两行仅包含两个按钮的行来说,它向右偏了一点点。这是我的代码,我有它的外观截图

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center">
        <ImageView
            android:id="@+id/hiragana_multiple_choice_main_image"
            android:gravity="center" 
            android:layout_width="fill_parent"
            android:layout_height="match_parent"/>
    </TableRow>
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:padding="30dp">
        <Button
            android:id="@+id/hiragana_multiple_choice_button_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1" />
        <Button
            android:id="@+id/hiragana_multiple_choice_button_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1" />
    </TableRow>
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="30dp"
        android:gravity="center">

        <Button
            android:id="@+id/hiragana_multiple_choice_button_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1" />

        <Button
            android:id="@+id/hiragana_multiple_choice_button_4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1" />
    </TableRow>
</TableLayout>

http://www.ptrprograms.com/multiple_choice_offset.png

谢谢!

4

2 回答 2

1

尝试使用 LinearLayout 而不是 tablelayout,它会将其固定为居中,并使用 fillparent 和包装内容以获得最佳实践。

于 2013-02-12T05:32:23.600 回答
0

试试这些方法......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="65dp"
        android:src="@drawable/ic_launcher" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/imageView1"
        android:layout_marginTop="59dp"
        android:layout_toLeftOf="@+id/imageView1"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/imageView1"
        android:text="Button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignRight="@+id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="68dp"
        android:text="Button" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button3"
        android:layout_alignBottom="@+id/button3"
        android:layout_alignLeft="@+id/button2"
        android:layout_alignParentRight="true"
        android:text="Button" />

</RelativeLayout>
于 2013-02-12T08:10:35.060 回答