layout_weight是LinearLayouts的view布局里一个很重要的值。
所有的view的layout_weight缺省值都是为0,意味着他们只在屏幕上占据它们需要显示的空间大小。activity根据这个View的比0大的layout_weight值来划分剩余的空间和其它Views定义的layout_weight也按比例进行空间的划分。
例如:假设我们在水平行上有一个文本标签和两个文本编辑框view. 文本标签没有定义layout_weight 值,所以它将占据最小的需要提供的空间. 如果每个文本框view的layout_weight 都被设置为1, 在父布局中的剩余的宽度将被它们平分.如果一个文本view的layout_weight值为1,另外一个是2, 那么剩余空间的三分之二将给第一个文本框,三分之一将给第二个文本框。(数值越小表示越重要)
又例如,编辑框+按钮,这样常用的组合我们可以用以下的方式取得:
- <LinearLayout android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <EditText android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/mapSearchText"
- <span style="color: rgb(255, 0, 0);">android:layout_weight="5"</span>></EditText>
- <ImageButton android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/find"
- android:id="@+id/mapSearch"
- <span style="color: rgb(255, 0, 0);">android:layout_weight="0"</span>></ImageButton>
- </LinearLayout>