TableLayout高度中的TextView

时间:2012-12-10 17:53:58

标签: android android-layout

我使用TableLayou t来对齐控件及其标签。 style / rounded_label和style / rounded_value的高度和宽度均为wrap_content

<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>

当TextView将其文本拆分为两行时,TableRow高度不会更改。 Left Multi Line

但是当EditText有多行时,TableRow会将其包装起来。 Right Multi Line

当TextEdit多行时我需要TableRow来包装文本..

(我试过ShrinkColumn)

布局xml是:

<TableLayout
            android:id="@+id/frmPaymentTableLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

<TableRow
                android:id="@+id/frmPaymentTrSerialCreditCardNo"
                style="@style/rounded_row" >

                <TextView
                    android:id="@+id/frmPaymentTvSerialCreditCardNo"
                    style="@style/rounded_label"
                    android:text="Card Nr" />

                <View style="@style/rounded_seperator" >
                </View>

                <EditText
                    android:id="@+id/frmPaymentEtSerialCreditCardNo"
                    style="@style/rounded_value"
                    android:ems="10" >

                    <requestFocus />
                </EditText>
            </TableRow>

2 个答案:

答案 0 :(得分:0)

TableLayout处理其子项的所有宽度和高度。事实上,你甚至无法为其子女定义layout_width。这可能是您遇到问题的原因。

尝试从您的观看中删除layout_heightlayout_width

答案 1 :(得分:0)

您需要在android:layout_height="wrap_content"项目中添加TableRow,根据其子项的大小,它将符合TableRow大小。

我认为你错过了实施的重点...我认为你需要重新设计你的xml ......

<TableLayout
                android:id="@+id/frmPaymentTableLayout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">

    <TableRow
                    android:id="@+id/frmPaymentTrSerialCreditCardNo"
                    android:layout_height="wrap_content"
                    style="@style/rounded_row" >

                    <TextView
                        android:id="@+id/frmPaymentTvSerialCreditCardNo"
                        style="@style/rounded_label"
                        android:text="Card Nr" />

                    <View style="@style/rounded_seperator" >
                    </View>

                    <EditText
                        android:id="@+id/frmPaymentEtSerialCreditCardNo"
                        style="@style/rounded_value"
                        android:ems="10" >

                        <requestFocus />
                    </EditText>
                </TableRow>