Вес используется, чтобы распределить оставшееся пустое пространство или убрать пространство, когда общая сумма больше чем LinearLayout.
Указывает, сколько дополнительного пространства в LinearLayout будет выделено для представления, связанного сс этими LayoutParams.Укажите 0, если вид не должен быть растянут.В противном случае дополнительные пиксели будут пропорционально распределены среди всех видов, вес которых больше 0.
. Подробнее об этой информации нажмите. Здесь , Ссылка1
Проблема веса макета
Если мы делим родителя на равные части, мы просто устанавливаемдетей layout_weights all to 1. Но если мы хотим разделить это неравно, мы можем сделать это несколькими способами.Мы можем использовать десятичные дробные значения, которые составляют 1, или мы можем использовать целочисленные значения:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:background="#FF0000"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="0.66667" />
<LinearLayout android:background="#00FF00"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="0.33333" />
</LinearLayout>
Или
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:background="#FF0000"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="2" />
<LinearLayout android:background="#00FF00"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="1" />
</LinearLayout>
Оба из них будутдать тот же результат.