weight计算方式
以宽度为例:
计算出的宽度=原来宽度(weight的值)+剩余空间所占百分比的宽度(屏幕宽度-控件宽度之和)*百分比
例1
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button1" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Button2" />
</LinearLayout>
假设屏幕的宽度为L
Button1的宽度=L+(L-(L+L))*1/3=L-1/3L=2/3L
Button2的宽度=L+(L-(L+L))*2/3=L-1/3L=1/3L
例2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="button1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="button2" />
</LinearLayout>
假设屏幕的宽度为L
Button1的宽度=0+(L-(0+0))*1/3=1/3L
Button2的宽度=0+(L-(0+0))*2/3=2/3L