Android:当wrap#u内容不可用时';我们不能只包装它的内容吗?

Android:当wrap#u内容不可用时';我们不能只包装它的内容吗?,android,android-layout,Android,Android Layout,我的项目中有以下xml布局(顺便说一句,如果您注意到其他似乎也有错误/还不太好的东西,我希望您能让我知道!),我的问题是属性“wrap_contents”在最后一个文本视图(“EEE”,txt4)中不起作用。有什么我忽略的规定吗 <?xml version="1.0" encoding="utf-8"?> <merge xmlns:android="http://schemas.android.com/apk/res/android"> <TableLa

我的项目中有以下xml布局(顺便说一句,如果您注意到其他似乎也有错误/还不太好的东西,我希望您能让我知道!),我的问题是属性“wrap_contents”在最后一个文本视图(“EEE”,txt4)中不起作用。有什么我忽略的规定吗

<?xml version="1.0" encoding="utf-8"?>

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <TableLayout
        android:id="@+id/Table"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">

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


            <TextView
                android:id="@+id/txt1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:text="AAA"
                android:textColor="@color/white" />


            <Spinner
                android:id="@+id/spn1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:entries="@array/array1" />

        </TableRow>

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


            <TextView
                android:id="@+id/edt1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:text="BBB"
                android:textColor="@color/white" />

            <Spinner
                android:id="@+id/spn2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:entries="@array/Tounyuhou" />

            <EditText
                android:id="@+id/edt2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="5"
                android:inputType="numberSigned"/>

            <TextView
                android:id="@+id/txt2"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="CCC" android:textColor="@color/white" 
                android:gravity="center_vertical|center_horizontal" 
                android:textSize="18sp"/>

        </TableRow>

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



            <TextView
                android:id="@+id/txt3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center_horizontal"
                android:text="DDD"
                android:textColor="@color/white" />



            <EditText
                android:id="@+id/edt3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="right|center_vertical">

            </EditText>


            <TextView
                android:id="@+id/txt4"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="EEE"
                android:textColor="@color/white"
                android:gravity="center_vertical|center_horizontal"
                android:textSize="20sp"/>

        </TableRow>


        </TableLayout>

</merge>

这里定义了同一布局中的所有行,但视图数量不同,如第1行包含2个,第2行包含4个,然后第3行包含3个视图

所以这就产生了问题,

所以我建议第三排采用不同的表格布局

<?xml version="1.0" encoding="utf-8"?>

<merge xmlns:android="http://schemas.android.com/apk/res/android">

 <TableLayout
            android:id="@+id/mainTable"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <TableRow
                android:id="@+id/mainTable_tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical">

        <TableLayout
            android:id="@+id/Table"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">

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


                <TextView
                    android:id="@+id/txt1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:text="AAA"
                    android:textColor="@color/white" />


                <Spinner
                    android:id="@+id/spn1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:entries="@array/array1" />

            </TableRow>

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


                <TextView
                    android:id="@+id/edt1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:text="BBB"
                    android:textColor="@color/white" />

                <Spinner
                    android:id="@+id/spn2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:entries="@array/Tounyuhou" />

                <EditText
                    android:id="@+id/edt2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ems="5"
                    android:inputType="numberSigned"/>

                <TextView
                    android:id="@+id/txt2"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="CCC" android:textColor="@color/white" 
                    android:gravity="center_vertical|center_horizontal" 
                    android:textSize="18sp"/>

            </TableRow>
    </TableLayout>
</TableRow>
<TableRow
                android:id="@+id/mainTable_tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical">
    <TableLayout
            android:id="@+id/Table2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">

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



                <TextView
                    android:id="@+id/txt3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:text="DDD"
                    android:textColor="@color/white" />



                <EditText
                    android:id="@+id/edt3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="right|center_vertical">

                </EditText>


                <TextView
                    android:id="@+id/txt4"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="EEE"
                    android:textColor="@color/white"
                    android:gravity="center_vertical|center_horizontal"
                    android:textSize="20sp"/>

            </TableRow>


            </TableLayout>
</TableRow>
 </TableLayout>

    </merge>


你所说的“不起作用”是什么意思?你看到了什么?你希望看到什么?只要给你认为“它不工作”的视图提供一个彩色背景。@JerseyMike我的意思是,为什么txt4的宽度不只是包装文本“EEE”所需的长度?很抱歉,如果不清楚的话。@Akki在原始XML中,大多数视图都有可绘制的,但出于疑问,我删除了它们。谢谢,如果我复制并粘贴了您的,第二个tableLayout似乎是在第一个tableLayout的基础上过度分层的。我应该为他们使用家长布局吗?这里我已经编辑了上面的答案,所以,试试看,你的问题最终解决了。