我需要得到一個TableLayout來匹配它的父LinearLayout的寬度,但我不能讓它工作。TableLayout不會match_parent LinearLayout寬度
在下面的第一個屏幕截圖中,「短標題」是垂直LinearLayout中的第一個視圖。下面的「Fields」是一個TableLayout的成員,它是垂直LinearLayout中的第二個視圖。
當「標題」文本不需要與TableLayout相同的寬度時,所有內容都按預期對齊。
當「標題」需要比TableLayout更大的寬度時,TableLayout與「標題」不匹配,如您在第二個屏幕截圖中所看到的。
我該如何讓TableLayout與LinearLayout的寬度匹配?
注:的LinearLayout需要「包裝」,以顯示它的內容所需要的,所以設置一固定的寬度的最小寬度的鹼沒有一個解決方案
此測試的佈局XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/baseLinerLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#FFAAAAAA" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:background="#FF000000"
android:textColor="#FFFFFFFF"
android:text="Long header to make base layout wider than table layout" />
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#33FFFFFF" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:gravity="center"
android:padding="10dp"
android:background="#44FFFFFF"
android:textColor="#FF000000"
android:text="Field (0,0)" />
<TextView
android:gravity="center"
android:padding="10dp"
android:background="#88FFFFFF"
android:textColor="#FF000000"
android:text="Field (0,1)" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:gravity="center"
android:padding="10dp"
android:background="#88FFFFFF"
android:textColor="#FF000000"
android:text="Field (0,1)" />
</TableRow>
</TableLayout>
</LinearLayout>
</RelativeLayout>
它的工作是你upwote? – ismail
謝謝。我試着設置'android:stretchColumns =「1」'來讓第二列伸展並填充表格的空白寬度,但它使表格填滿了屏幕的寬度。您將每行第二個視圖的權重設置爲1的建議達到了我認爲'stretchColumns'通過閱讀API文檔的目的。它表明'stretchColumns'屬性可能有點壞了吧? –
某些時候某些應該工作但不需要的屬性。我認爲這是因爲某些父母風格或因版本問題而導致最糟糕的 – ismail