LinearLayout在Android中被广泛使用,LinearLayout有一个比较重要的属性——android:layout_weight。按照字面理解就是该控件的权重,这个值默认是 零(0)。
举个例子:
在下图中,整个界面是一个Linearlayout,包含了5个子控件Linerarlayout,分别是空的、用户名的、密码的、确认和取消按钮的、保存用户的layout。
在这里,先给整个界面设置20个权重,再给子控件layout分别设置:10、1、2、3、1个权重,最后的效果就是上图。
Xml文件代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/mailLayout"android:orientation="vertical"android:background="@drawable/login_background"android:weightSum="20"><!-- 空白部分 --><LinearLayout android:id="@+id/loginSpace"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="10"></LinearLayout><!-- 登陆用户名 --><LinearLayout android:id="@+id/loginNameLayout"android:layout_weight="1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="horizontal"><ImageView android:id="@+id/loginTextName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_text_name"/><EditText android:id="@+id/userName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="2dp"android:layout_marginLeft="10dip"android:background="@drawable/login_name_input"/></LinearLayout><!-- 登陆密码 --><LinearLayout android:id="@+id/loginPasswordLayout"android:layout_weight="2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="horizontal"><ImageView android:id="@+id/loginTextPassword"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_text_pwd"/><EditText android:id="@+id/passWord"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="2dp"android:password="true"android:layout_marginLeft="11dip"android:background="@drawable/login_pwd_input"/></LinearLayout><!-- 确认登陆按钮和取消按钮 --><LinearLayout android:id="@+id/loginButtonLayout"android:layout_weight="3"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center_horizontal"><ImageButtonandroid:id="@+id/loginButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/login_confirm_button" android:background="@null"/><ImageButtonandroid:id="@+id/cancelButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="40dip"android:src="@drawable/login_text_cancel"android:background="@null" /></LinearLayout><!-- 保存用户名和密码 --><LinearLayout android:id="@+id/loginSaveUserLayout"android:layout_weight="1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="horizontal"><CheckBoxandroid:id="@+id/saveUserInfoCheckBox"android:layout_width="wrap_content"android:layout_height="wrap_content"android:button="@drawable/login_checkbox"android:checked="true" /><TextViewandroid:id="@+id/loginTextSaveUser"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/login_saveuser" /></LinearLayout> </LinearLayout>