Android - TextView和ToggleButton之间的间距?

4
这是我的代码:
<TableRow
    android:layout_width="fill_parent" 
    android:layout_height="0dp"
    android:layout_weight="1"
    android:orientation="horizontal" > 

    <TextView
        android:id="@+id/TextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This Button:"
        android:layout_marginLeft="14dp" />

    <ToggleButton
        android:id="@+id/toggleButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="ToggleButton" />


    <FrameLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent" 
        android:layout_weight="0.9" >
    </FrameLayout> 
</TableRow>     

当我启动我的应用程序时,它看起来像这样:

  This Button:     Togglebutton

文本视图和切换按钮之间有很大的空间。


我认为这就是表格布局的工作方式。它会尝试调整以适应列宽。 - Wand Maker
哦..表格布局有问题? - Johnny
2个回答

3

如果你不想要额外的空间,你应该将它们的宽度都设置为wrap_content并将它们包裹在一个LinearLayout中:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This Button:"
        android:layout_marginLeft="14dp" />

    <ToggleButton
        android:id="@+id/toggleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" />
</LinearLayout>

2
从Android文档(http://developer.android.com/reference/android/widget/TableRow.html)中得知:TableRow的子元素不需要在XML文件中指定layout_width和layout_height属性。TableRow始终强制这些值分别为MATCH_PARENT和WRAP_CONTENT。 - ErikR
1
如果您将这两个放在LinearLayout中呢?就像在编辑中一样。 - maclir
感谢。LinearLayout就是答案。 - Johnny

0
假设您想要缩小间距,请在TextView上尝试android:gravity="right"。
如果这样做不起作用,请尝试在TextView和ToggleButton上设置不同的android:layout_weight值来平衡水平间距。

但是我左边有空间。 - Johnny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接