Android 无法将两个表单小部件水平居中

Android 无法将两个表单小部件水平居中,android,android-layout,Android,Android Layout,我有一个布局,我想要两个水平居中的ToggleButton小部件;不是紧挨着彼此,而是好像每个人都在自己的一半视图中居中。 以下是我的布局代码: `<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com

我有一个布局,我想要两个水平居中的ToggleButton小部件;不是紧挨着彼此,而是好像每个人都在自己的一半视图中居中。

以下是我的布局代码:

`<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
<LinearLayout android:id="@+id/pics"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:padding="8dp"
        android:layout_alignParentTop="true" >
    <ImageView android:id="@+id/prefix"
            android:layout_weight="1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:padding="4dp"/>
    <ImageView android:id="@+id/suffix"
            android:layout_weight="1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:padding="4dp" />
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        orientation="horizontal" >
    <LinearLayout android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            orientation="horizontal" >
        <ToggleButton android:id="@+id/lockPrefix"
                android:textOn="Locked"
                android:textOff="Unlocked"
                android:checked="false"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal" />
    </LinearLayout>
    <LinearLayout android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            orientation="horizontal" >
        <ToggleButton android:id="@+id/lockSuffix"
                android:textOn="Locked"
                android:textOff="Unlocked"
                android:checked="false"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_gravity="center_horizontal" />
    </LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/toolbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_below="@id/pics"
        android:padding="8dp" >
    <Button android:id="@+id/mixButton"
            style="@style/DefaultButton"
            android:layout_height="wrap_content"
            android:layout_width="90dp"
            android:text="@string/main_mixButton"
            android:onClick="mixButtonClick" />
    <Button android:id="@+id/exitButton"
            style="@style/DefaultButton"
            android:layout_height="wrap_content"
            android:layout_width="90dp"
            android:text="@string/main_exitButton"
            android:onClick="exitButtonClick" />
</LinearLayout>
</LinearLayout>`
`
`

(编辑:使XML可读)

您需要将每个按钮放置在
线性布局中
,将这些布局的
布局宽度
设置为
填充父级
布局重量
设置为1,将
重力
设置为
水平居中
。希望这有帮助

对于切换按钮,请尝试删除嵌套的线性布局。(我想我已经换了第24行了)


我发誓我试过了——一定是把它放在了
切换按钮上,而不是
线性布局上(添加了
android:gravity=“center\u horizontal”
)。我还想知道这是否是最有效的方法--似乎添加了几个额外的视图元素以使其居中?似乎是唯一的选择。谢谢你的帮助!谢谢你的回答!这似乎使每个
ToggleButton
占据了视图宽度的一半,但这并不是我想要做的。 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" orientation="horizontal" android:layout_weight="1" > <ToggleButton android:id="@+id/lockPrefix" android:textOn="Locked" android:textOff="Unlocked" android:checked="false" android:layout_width="0dip" android:layout_weight="0.5" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <ToggleButton android:id="@+id/lockSuffix" android:textOn="Locked" android:textOff="Unlocked" android:checked="false" android:layout_width="0dip" android:layout_weight="0.5" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> < /LinearLayout>