2011-05-07 66 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