我是android新手。在瞭解佈局的「weight」屬性時,我感到困惑。
我知道當layout_width
設置爲0dp時,每個元素將佔用weight/weightSum
。 但是當layout_width
設置爲match_parrent(可能不推薦),但它有點複雜。
有人說,公式爲:
Android佈局權重:如何解釋寬度設置'match_parent'時的比例計算
,δ= 1-numOfElement;
ratio [i] = 1 + delta *(weight [i]/weightSum);
舉個例子,以清楚〜
<?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="horizontal">
<EditText
android:id="@+id/edit_message"
android:layout_width="match_parent"
android:layout_weight="2"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:text="@string/button_cancel"
android:layout_weight="3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="sendMessage"/>
<Button
android:text="@string/button_send"
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
有3個元素,因此,δ= 1-3 = -2;
weightSum =(2 + 3 + 4)= 9;
ratio [0] = 1 +( - 2)(2/9)= 5/9;
比例[1] = 1 +( - 2)(3/9)= 3/9;
比例[2] = 1 +( - 2)*(4/9)= 1/9;
所以它實際上是5:3:1
但我不明白什麼意思,可能有人解釋說〜
或者,如果公式有誤,請改正〜謝謝
我改變了我對你的具體問題的回答@disinuo –