2012-07-14 46 views
0

如何安排如下图片的控件。Android中的表格布局安排

enter image description here

我已经与下面的XML代码试过,

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tableLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<TableRow 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dip" > 

    <TextView 
     android:id="@+id/textView1" 
     android:text="Device Status" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <ToggleButton 
     android:id="@+id/toggleButton1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_column="2" 
     android:textOff="Device Off" 
     android:textOn="Device On" />  
</TableRow> 

<TableRow 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dip" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="2" 
     android:text="Save" 
     android:onClick="onSaveButtonClick" 
     /> 
</TableRow>  
    </TableLayout> 

但我得到导致这样的(我需要设备状态之间和开/关一些间隙)

enter image description here

高级谢谢

+0

您需要在行中设置layout_gravity为正确的权重为1 .. – AAnkit 2012-07-14 07:58:12

回答

1

试试这个

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TableRow android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dip"> 
     <TextView android:id="@+id/textView1" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:text="Device Status" 
      android:textAppearance="?android:attr/textAppearanceLarge"/> 
     <ToggleButton android:id="@+id/toggleButton1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_column="2" 
      android:textOff="Device Off" 
      android:textOn="Device On"/>  
    </TableRow> 
    <TableRow android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dip" 
     android:gravity="right"> 
     <Button android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_column="2" 
      android:text="Save" 
      android:onClick="onSaveButtonClick"/> 
    </TableRow>  
</TableLayout> 
+0

您的解决方案正在工作....谢谢 – Riskhan 2012-07-14 09:34:46

1

用这个替换你的布局。

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tableLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<TableRow 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="5dip" android:gravity="right" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="fill_parent" 
     android:text="Device Status" 
     android:layout_weight="1" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <ToggleButton 
     android:id="@+id/toggleButton1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_column="2" 
     android:textOff="Device Off" 
     android:textOn="Device On" />  
</TableRow> 

<TableRow 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:padding="5dip" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="2" 
     android:text="Save" 
     android:onClick="onSaveButtonClick" 
     /> 
</TableRow>  
    </TableLayout> 
+0

您的解决方案包含两个xml文件,哪一个正确? – Riskhan 2012-07-14 09:33:20

+0

它被粘贴了两次我认为。,,它只是一个xml:P .. – AAnkit 2012-07-14 10:45:07

+0

您的解决方案也在工作......谢谢ankit – Riskhan 2012-07-14 10:51:47

0

试试这个:

变化的android:layout_width = “WRAP_CONTENT” 到Android:layout_width = “0dp”,并切换按钮重心向右。