TableLayout击碎按钮

时间:2018-07-31 10:26:06

标签: android android-layout android-linearlayout android-tablelayout

我遇到一个奇怪的问题,${VAR} = Convert To Integer ${VAR}旁边有一个TableLayout。这是XML:

Button

这就是我得到的:

Screenshot

这让我感到困惑。如您所见,<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tableLayout1" android:stretchColumns="*" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textView1" android:text="Column 1" /> <Button android:id="@+id/button1" android:text="Column 2" /> </TableRow> </TableLayout> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 2" /> </LinearLayout> Button的{​​{1}}均为1。因此,我希望它们在TableLayout内具有相同的宽度,但对于某些因此,layout_weight占用了更多空间,并将按钮一直向右推。

请问如何根据LinearLayout中设置的值在TableLayoutLinearLayout之间分配TableLayout中可用的额外空间?

请注意,我不想使用Buttonlayout_weight。我正在专门寻找一种RelativeLayout解决方案。

2 个答案:

答案 0 :(得分:0)

只需将此添加到您的父母即可。并使两个孩子的宽度0dp

  

android:weightSum =“ 2”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2">

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tableLayout1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:stretchColumns="*">

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/textView1"
                android:text="Column 1" />

            <Button
                android:id="@+id/button1"
                android:text="Column 2" />
        </TableRow>
    </TableLayout>

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button 2" />
</LinearLayout> 

enter image description here

答案 1 :(得分:0)

android:layout_width="0dp"Button设置TableLayout