我使用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高度不会更改。
但是当EditText有多行时,TableRow会将其包装起来。
当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>
答案 0 :(得分:0)
TableLayout
处理其子项的所有宽度和高度。事实上,你甚至无法为其子女定义layout_width
。这可能是您遇到问题的原因。
尝试从您的观看中删除layout_height
和layout_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>