爲什麼TableLayout和LinearLayout權重不一樣?或者我在佈局XML中有錯誤?TableLayout和LinearLayout的權重不一樣
4按鈕測試
我準備一個簡單的測試用具有權重1,1,1,3- 4個按鈕。使用TableLayout(一列)和LinearLayout(垂直)的結果不一樣。
在以下鏈接中,您可以看到TableLayout(左側)和LinearLayout(右側)實施的屏幕截圖。 http://i.stack.imgur.com/9dYlB.png
在我看來,LinearLayout是正確的 - 總和是6,所以重量爲3的第四個按鈕應占據一半的空間。
TableLayout XML
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="A" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="B" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="C" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3" >
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="D" />
</TableRow>
</TableLayout>
的LinearLayout XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="A" />
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="B" />
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="C" />
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:text="D" />
</LinearLayout>
環境
ADT:22.6.2
AVD:英特爾凌動與4.2.2和4.4.2(兩者結果相同)
你說得對。所有的權重總和,TableRow和Button按鈕。無論如何,按鈕權重是多餘的,正如我測試過的。謝謝。 – bocekm