Android——学习:线性布局权重分配

  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"?>
<LinearLayout
    xmlns: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"
        >

        <ImageButton
            android:id="@+id/loginButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/login_confirm_button" 
            android:background="@null"
            />
        <ImageButton
            android: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"
         >
         <CheckBox
             android:id="@+id/saveUserInfoCheckBox"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:button="@drawable/login_checkbox"
            android:checked="true" />
         <TextView
         android:id="@+id/loginTextSaveUser"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:background="@drawable/login_saveuser" />
    </LinearLayout>
</LinearLayout>
逃避不一定躲得过,面对不一定最难过
原文地址:https://www.cnblogs.com/yangzhenlong/p/3214764.html