0
我在我的應用程序中有一個TableLayout的以下問題。 TableRows有時會有完全不同的高度,儘管代碼是相同的,內容也是一樣的。這裏是我的代碼片段(切出的其他行),並更好地理解兩個畫面(粉紅色是textViews的大小):奇怪的TableRow高度behavoir與不同的高度
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F0FFF0"
android:gravity="center_vertical"
android:paddingBottom="3dp"
android:paddingTop="3dp" >
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="right"
android:paddingRight="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/editText1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:background="#FF00FF"
android:ems="10"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="numberSigned"
android:maxLength="1"
android:singleLine="true" >
</EditText>
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="left"
android:paddingLeft="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#E0EEE0"
android:gravity="center_vertical"
android:paddingBottom="3dp"
android:paddingTop="3dp" >
<TextView
android:id="@+id/textView8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="right"
android:paddingRight="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/editText4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:background="#FF00FF"
android:ems="10"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="numberSigned"
android:maxLength="1"
android:singleLine="true" >
</EditText>
<TextView
android:id="@+id/textView9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="left"
android:paddingLeft="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</TableRow>
<TableRow
android:id="@+id/tableRow10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F0FFF0"
android:gravity="center_vertical"
android:paddingBottom="3dp"
android:paddingTop="3dp" >
<TextView
android:id="@+id/textView18"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="right"
android:paddingRight="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
<EditText
android:id="@+id/editText9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:background="#FF00FF"
android:ems="10"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="numberSigned"
android:maxLength="1"
android:singleLine="true" >
</EditText>
<TextView
android:id="@+id/textView19"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FF00FF"
android:gravity="left"
android:paddingLeft="3dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</TableRow>
</TableLayout>
</ScrollView>
你可以在看第一張圖片tableRow2填充了兩行textView並且有一個非常小的填充(紅色hachures),tableRow5也只有一行內容和tableRow10,但tableRow10的高度要高得多(藍色方括號)。
在第二張圖片中,您看到完全相同的佈局,只是改變了排序條目並且行高度完全不同。爲什麼會發生這種情況,我無法得到任何模式,我正在改變條目的順序,有時它會變大,有時變小。