无法水平地将两个表单小部件集中在一起

时间:2011-06-10 11:42:41

标签: android android-layout

我有一个布局,我希望两个ToggleButton小部件水平居中;不是彼此相邻,而是好像每个人都在他们自己的一半视图中。 So, I'm wanting them to look like this.

But instead I get this.

以下是我的布局代码:

`<?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可读)

2 个答案:

答案 0 :(得分:2)

您需要将每个按钮放入LinearLayout,将这些布局的layout_width设置为fill_parentlayout_weight设置为1,将gravity设置为{{1} }}。希望这有帮助!

答案 1 :(得分:0)

尝试此操作,切换按钮,删除嵌套的线性布局。 (我想从第24行取代)

<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>
相关问题