2011-05-07 69 views
2

在Android我試圖做一個簡單的窗體與兩個按鈕..但我面臨對齊問題。 可以請你在幫助..佈局設計問題

這裏是代碼

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns = "1" 
    > 
    <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="UserName"></TextView> 
     <EditText android:text="EditText" android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> 
    </TableRow> 
    <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Password"></TextView> 
     <EditText android:text="EditText" android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> 
    </TableRow> 
    <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/button1" android:text="save"></Button> 
     <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/button2" android:text="cancel"></Button> 
    </TableRow> 
</TableLayout> 

enter image description here

與此代碼,我得到這樣的用戶界面,但我想對齊按鈕,請幫我

回答

5

將按鈕移出表格佈局並移入LinearLayout?

<LinearLayout android:id="@+id/buttons" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
     <Button 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:id="@+id/button1" 
      android:text="save" 
      android:layout_weight="1"/> 
     <Button 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:id="@+id/button2" 
      android:text="cancel" 
      android:layout_weight="1"/> 
    </LinearLayout> 

您可能必須在垂直LinearLayout中設置表和LinearLayout並設置它們的權重。

+0

@damon,感謝它爲我工作感謝很多,最後一件事,「Layout_weight」做了什麼?它不反映我的代碼的任何變化,如果我給予價值除1 – Naruto 2011-05-07 12:02:28

+0

以外的任何東西它賦予它相對於其他組件的相對權重。例如,如果您給按鈕之一加權2,則會得到三分之二的空間,而另一個(加權爲1)會得到三分之一的空間。 – dmon 2011-05-07 12:50:14

+1

更具體地說,在使用通常的寬度或高度說明符測量了LinearLayout中的所有子元素之後,使用weight來分配任何*剩餘*空間。這就是爲什麼在許多例子中,你會看到一個寬度或高度(哪一個取決於LinearLayout的方向)與一個權重一起被設置爲「0dip」 - 這告訴LinearLayout在測量時僅使用權重。如果您希望兩個元素分別獲得可用空間的50%,則應使用此方法。 – adamp 2011-05-07 16:10:21