2011-06-10 70 views
2

我有一個佈局,我想讓兩個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>` 

:您需要將每個按鈕放置到LinearLayout(EDIT使XML可讀)

回答

2

,設置layout_width這些佈局爲fill_parent,layout_weight至1和gravitycenter_horizontal。希望這可以幫助!

+0

我發誓,我試過了 - 必須把它放在'ToggleButton'而不是'LinearLayout'(加'安卓重力=「CENTER_HORIZONTAL」'做訣竅)。我還想知道這是否是最有效的方法 - 似乎添加了一些額外的視圖元素,只是爲了讓它居中?似乎是唯一的選擇。謝謝你的幫助! – areyling 2011-06-10 12:35:45

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> 
+0

感謝您的回答!這似乎使每個「ToggleButton」填充視圖寬度的一半,但這不是我想要做的。 – areyling 2011-06-10 12:51:03