【Android學習專題】視覺介面篇:Android布局及屬性歸總(查詢用)
SkySeraph Feb 14th 2012 SZ
Email:skyseraph00@163.com
常見布局
LinearLayout 線性布局 子元素任意,組織成一個單一的水平或垂直行,默認為水平方向
TableLayout 表格布局 子元素為<TableRow>,一個TableRow就代表TableLayout中的一行
RelativeLayout 相對布局 子元素任意
AbsoluteLayout 絕對布局 子元素任意
FrameLayout 幀布局 控件會放到左上角
公共控件屬性
android:id = "@+id/XXX" 程序中通過ID來關聯控件
android:layout_width/android:layout_height 控制控件的寬度/高度,可選"wrap_content"/"fill_parent"/"match_parent"/具體像素
android:layout_marginLeft/Right/Top/Bottom = “5dip” 各邊距離其他控件的距離
android:gravity 控件中內容的顯示位置
android:textSize 空間中文本大小
android:textColor = "#ff123456" 空間中文本顏色,以#開頭,前兩位為透明值,后六位為顏色值
android:textStyle = "normal"/"bold"/"italic" 控件文本風格,也可用“|”將屬性組合起來
android:text 控件文本內容
android:sigleLine 如果設置為真的話,則將控件的內容在同一行當中進行顯示
android:background = "@drawable/window_bg" 控件背景
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 用矩陣來繪制,動態縮小放大圖片來顯示。
android:src = "@drawable/window_bg" 引用資源/控件圖片,用於ImageButton,ImageView等需要圖片的控件
android:visibility 控件可見性,"visible"表可見,"invisible"表不可見,但在布局中占用的位置還在,"gone"表不可見,完全從布局中消失
android:padding 空間中內容與控件邊框的距離
android:weight 指定畫完控件后剩余空間的分配所占比例
android:ems/maxEms/minEms 控制控件寬度
EditText的android:hint 設置EditText為空時輸入框內的提示信息
LinearLayout特有屬性
android:orientation=horizontal/vertical 布局中子控件排布方向,默認為水平方向
android:layout_weight 子元素屬性,描述子元素在父元素剩余空間中占有的大小比例,關於此屬性,詳見http://sinye.iteye.com/blog/1068204
TableLayout特有屬性(子元素都是橫向排列,並且寬高一致)
android:orientation 屬性值恆為horizontal
android:layout_width 屬性值恆為MATCH_PARENT
android:layout_height 屬性值恆為WRAP_CONTENT
android:stretchColums 指定當一個TableRow中的控件不夠填充滿整個寬度時,將會被拉伸的條目
RelativeLayout特有屬性
android:layout_alignParentLeft/Right/Top/Bottom = "true/false" 緊貼父控件,與父控件對齊方式
android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
android:orientation 布局中子控件排布方向
android:layout_toRightOf/toLeftOf/below/above="@id/id-name" 控件和某個控件的位置關系,其中在左邊/右邊包含但不僅限於緊靠,在上方/下方包含但不僅限於正上方/正下方
android:layout_alignTop/Bottom/Left/Right/Baseline="@id/id-name" 控件與其他控件對齊
android:layout_centerHorizontal/Virtical/InParent 指定控件位於水平/垂直/父控件的中間位置
AbsoluteLayout特有屬性
android:layout_X/Y 控件的X,Y坐標,屏幕左上角為坐標原點(0,0)
注意點
1 android:gravity設置控件中內容的對齊方式,android:layout_gravity設置控件本身的對齊方式
2 當android:gravity和android:padding同時做用時,先按gravity進行排布,再按padding調整
3 android:padding指定內邊距(站在父view的角度描述問題,它規定它里面的內容必須與這個父view邊界的距離),
android:layout_margin指定外邊距(站在自己的角度描述問題,規定自己和其他(上下左右)的view之間的距離,如果同一級只有一個view,那么它的效果基本上就和padding一樣了)
4 Drawable文件夾里面的圖片命名是不能大寫的
5 單個控件的風格設置通過在布局文件的控件中添加style屬性,整個Activity或者App的主題設置通過在manifest文件中的Theme設置
Refs
淺談Android五大布局(一)——LinearLayout、FrameLayout和AbsoulteLayout - 熊貓82 - 博客園
- 淺談Android五大布局(二)——RelativeLayout和TableLayout - 熊貓82 - 博客園
- Android成長之路-布局詳解 - - 博客頻道 - CSDN.NET
- Android成長之路-好玩的相對布局 - - 博客頻道 - CSDN.NET
- android layout_weight講解 - 路漫漫其修遠兮 吾將上下而求索 - ITeye技術網站
- android_paddingLeft與android_layout_marginLeft的區別_fynancywin的空間_百度空間
- padding與margin的區別 - Lily's Android tech Blog - 博客頻道 - CSDN.NET
- 新浪微博布局學習——活用RelativeLayout - 農民伯伯 - 博客園
- RelativeLayout ? { Android學習指南 }
- Android 利用addView 讓Activity 動態加入多個View 物件 _ 第三極 _ 移動開發者
- Android2.2中添加的match_parent和fill_parent沒有區別 - ·沒有風雨躲得過,沒有坎坷不必走· - 博客頻道 - CSDN.NET
- Android布局之RelativeLayout(相對布局)_hoyah_百度空間
- Android布局之AbsoluteLayout(坐標布局)_hoyah_百度空間
- Android布局之LinearLayout(線性布局)_hoyah_百度空間
- Android布局之TableLayout(表格布局)_hoyah_百度空間
- Android布局之FrameLayout(單幀布局)_hoyah_百度空間
- LinearLayout、RelativeLayout、FrameLayout居中顯示 - Android - 紅黑聯盟
- Android-TableLayout布局 - 個人筆記 - 51CTO技術博客
- Android入門第五篇之TableLayout (二) - hellogv的專欄 - 博客頻道 - CSDN.NET
- Android入門第四篇之TableLayout (一) - hellogv的專欄 - 博客頻道 - CSDN.NET
- Android入門第三篇之RelativeLayout、FrameLayout - hellogv的專欄 - 博客頻道 - CSDN.NET
- Android入門第二篇之LinearLayout、AbsoluteLayout - hellogv的專欄 - 博客頻道 - CSDN.NET
- Android成長之路-編碼實現軟件界面 - - 博客頻道 - CSDN.NET
- Android騰訊微薄客戶端開發八_微博查看(轉播,對話,點評) - Android - mobile - ITeye論壇
- android復雜布局示例 - meetrice - 博客園
- Android筆記:Button居中_水平居中_垂直居中(總結) - Mars2639——求知de路上 - 博客頻道 - CSDN.NET
- android布局屬性詳解 - C'est la vie - 博客園
- 【原創】常見的四種布局使用及其中常用控件屬性_洛朗朗_新浪博客
- android布局屬性大全 - A_Big_Monkey - ITeye技術網站