Android五種佈局管理器之『LinearLayout』

線性佈局(LinearLayout)是Android五種佈局中最簡單的佈局之一,它提供了控件水平或垂直排列的模型。同時,使用此佈局時可以通過設置控件的weight參數來控制各個控件在容器內的相對大小。

LinearLayout佈局的屬性既可以在佈局文件(XML)中設置,也可以通過成員方法進行設置。下面給出LinearLayout常用的屬性及其對應屬性設置的方法。

屬性名稱 對應方法 描述
android:orientation setOrientation(int) 設置線性佈局的朝向,可取horizontal(水平)和vertical(垂直)兩種排列方式
android:gravity setGravity(int) 設置線性佈局的內部元素的佈局對齊方式

線性佈局中使用gravity屬性來設置其內部子控件的對齊方式,當要爲gravity設置多個值時,用“|”來分隔。gravity可取得值及其說明見下表:

屬性值 說明
top 不改變控件大小,對齊到容器頂部
bottom 不改變控件大小,對齊到容器底部
left 不改變控件大小,對齊到容器左側
right 不改變控件大小,對齊到容器右側
center_vertical 不改變控件大小,對齊到容器縱向中央位置
center_horizontal 不改變控件大小,對齊到容器橫向中央位置
center 不改變控件大小,對齊到容器中央位置
fill_vertical 若有可能,縱向拉伸以填滿容器
fill_horizontal 若有可能,橫向拉伸以填滿容器
fill 若有可能,縱向橫向同時拉伸以填滿容器

下面來看一下效果:

點擊放大圖片

其中Main.xml代碼如下:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout  
  3.         xmlns:android="http://schemas.android.com/apk/res/android" 
  4.         android:orientation="vertical" 
  5.         android:gravity="center_horizontal" 
  6.         android:layout_width="fill_parent" 
  7.         android:layout_height="fill_parent" 
  8.     > 
  9.  
  10.         <LinearLayout android:orientation="vertical"  
  11.                       android:layout_width="fill_parent"  
  12.                       android:layout_height="fill_parent"  
  13.                       android:layout_weight="2"> 
  14.             <TextView android:text="Welcome to sunchis.com"  
  15.                       android:textSize="15pt"  
  16.                       android:layout_width="fill_parent"  
  17.                       android:layout_height="wrap_content" /> 
  18.         </LinearLayout> 
  19.  
  20.         <LinearLayout android:orientation="horizontal"  
  21.                       android:layout_width="fill_parent"  
  22.                       android:layout_height="fill_parent"  
  23.                       android:layout_weight="1"> 
  24.             <!-- 這裏字水平居中  --> 
  25.             <TextView android:text="red"  
  26.                       android:gravity="center_horizontal"  
  27.                       android:background="#aa0000"  
  28.                       android:layout_width="wrap_content"  
  29.                       android:layout_height="fill_parent"  
  30.                       android:layout_weight="1"/> 
  31.  
  32.             <TextView android:text="green"  
  33.                       android:gravity="center_horizontal"  
  34.                       android:background="#00aa00"  
  35.                       android:layout_width="wrap_content"  
  36.                       android:layout_height="fill_parent"  
  37.                       android:layout_weight="1"/> 
  38.         </LinearLayout> 
  39. </LinearLayout> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章