Android UI系列 - 佈局 - 屬性詳解

本文轉自:http://www.cnblogs.com/chiao/archive/2011/08/25/2153652.html


LinearLayout佈局: 線性版面配置,在這個標籤中,所有元件都是按由上到下的排隊排成的。
在這個界面中,我們應用了一個 LinearLayout的佈局,它是垂直向下擴展的 ,所以創建的佈局XML文件,以
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
節點作爲開頭。一個佈局容器裏可以包括0或多個佈局容器。
解釋一下LinearLayout中的標籤:
(1)android:orientation="vertical" 表示豎直方式對齊
(2)android:orientation="horizontal"表示水平方式對齊
(3)android:layout_width="fill_parent"定 義當前視圖在屏幕上 可以消費的寬 度,fill_parent即填充整個屏幕。
(4)android:layout_height="wrap_content": 隨着文字欄位的不同    而 改變這個視圖的寬度或者高度。有點自動設置框度或者高度的意思    

layout_weight默認值是零,用於給一個線性佈局中的諸多視圖的重要度賦值。比如說我們在 水平方向上有一個文本標籤和兩個文本編輯元素,該文本標籤並無指定layout_weight值,所以它將佔據需要提供的最少空間  ;如果兩個文本編輯元素每一個的layout_weight值都設置爲1, 則兩者平分在父視圖佈局剩餘的寬度(因爲我們聲明這兩者的重要度相等)。如果兩個文本編輯元素其中第一個的layout_weight值設置爲1,而 第二個的設置爲2,則剩餘空間的三分之一分給第二個,三分之二分給第一個(正比劃分)。(僅在LinearLayou中有效)。


RelativeLayout佈局:允許子元素指定他們相對於其它元素或父元素的位置(通過ID指定)。
RelativeLayout用到的一些重要的屬性: 

    第一類:屬性值爲true或false  僅RelativeLayout中有效
    android:layout_centerHrizontal  水平居中 
     android:layout_centerVertical   垂直居中 
    android:layout_centerInparent    相對於父元素完全居中 
    android:layout_alignParentBottom 貼緊父元素的下邊緣 
    android:layout_alignParentLeft   貼緊父元素的左邊緣 
    android:layout_alignParentRight  貼緊父元素的右邊緣 
    android:layout_alignParentTop    貼緊父元素的上邊緣 
    android:layout_alignWithParentIfMissing  如果對應的兄弟元素找不到的話就以父元素做參照物 

    第二類:屬性值必須爲id的引用名“@id/id-name” 僅RelativeLayout中有效
    android:layout_below      在某元素的下方 
    android:layout_above      在某元素的的上方 
    android:layout_toLeftOf   在某元素的左邊 
    android:layout_toRightOf  在某元素的右邊 

    android:layout_alignTop   本元素的上邊緣和某元素的的上邊緣對齊 
    android:layout_alignLeft  本元素的左邊緣和某元素的的左邊緣對齊 
    android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊 
    android:layout_alignRight  本元素的右邊緣和某元素的的右邊緣對齊 

    第三類:屬性值爲具體的像素值,如30dip,40px (任何佈局都有效)
    android:layout_marginBottom              離某元素底邊緣的距離 
    android:layout_marginLeft                   離某元素左邊緣的距離 
    android:layout_marginRight                 離某元素右邊緣的距離 
    android:layout_marginTop                   離某元素上邊緣的距離 


FrameLayout是最簡單的一個佈局對象:是一個框架佈局樣式,可以用include標籤載入定義的另一個layout文件,所有的子元素將會固定在屏幕的左上角;你不能爲FrameLayout中的一個子元素指定一個位置。後一個子元素將會直接在前 一個子元素之上進行覆蓋填充,把它們部份或全部擋住(除非後一個子元素是透明的)。

EditText的android:hint 
設置EditText爲空時輸入框內的提示信息。 

android:gravity  
android:gravity屬性是對該view 內容的限定.比如一個button 上面的text.  你可以設置該text 在view的靠左,靠右等位置.以button爲例,android:gravity="right"則button上面的文字靠右 

android:layout_gravity 
android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout裏,你想把該button放在靠左、靠右等位置就可以通過該屬性設置.以button爲例,android:layout_gravity="right"則button靠右 

android:layout_alignParentRight 
使當前控件的右端和父控件的右端對齊。這裏屬性值只能爲true或false,默認false。 

android:scaleType
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType / android:scaleType值的意義區別: 
CENTER /center  按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示 
CENTER_CROP / centerCrop  按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬) 
CENTER_INSIDE / centerInside  將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬 
FIT_CENTER / fitCenter  把圖片按比例擴大/縮小到View的寬度,居中顯示 
FIT_END / fitEnd   把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置 
FIT_START / fitStart  把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置 
FIT_XY / fitXY  把圖片不按比例擴大/縮小到View的大小顯示 
MATRIX / matrix 用矩陣來繪製,動態縮小放大圖片來顯示。 

** 要注意一點,Drawable文件夾裏面的圖片命名是不能大寫的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章