android使用桢布局,Android 常用布局
Android的布局有:
LinearLayout線性布局
RelativeLayout????????? ??相對布局
FrameLayout單楨布局
TableLayout表格布局
GridLayout網格布局Android4.0
AbsoluteLayout絕對布局不常用(淘汰)
LinearLayout線性布局:
LinearLayout是一種線型的布局方式。LinearLayout布局容器內的組件一個挨著一個地排列起來:不僅可以控制個組件橫向排列,也可控制各組件縱向排列。通過orientation屬性設置線性排列的方向是垂直(vertical)還是縱向(horizontal)。
RelativeLayout相對布局:
RelativeLayout是一種相對布局,控件的位置是按照相對位置來計算的,后一個控件在什么位置依賴于前一個控件的基本位置,是布局最常用,也是最靈活的一種布局。
相對布局常用屬性介紹,這里將這些屬性分成組,便于理解和記憶。
a)、第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對于父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
b)、第二類:屬性值必須為id的引用名“@id/id-name”
android:layout_below ????????????在某元素的下方
android:layout_above ?在某元素的的上方
android:layout_toLeftOf ????????????在某元素的左邊
android:layout_toRightOf ?在某元素的右邊
android:layout_alignTop ?本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft ?本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom ?本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight ?本元素的右邊緣和某元素的的右邊緣對齊
c)、第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft ????????離某元素左邊緣的距離
android:layout_marginRight ????????離某元素右邊緣的距離
android:layout_marginTop ????????離某元素上邊緣的距離
FrameLayout單楨布局:
FrameLayout對象好比一塊在屏幕上提前預定好的空白區域,可以將一些元素填充在里面,如圖片。所有元素都被放置在FrameLayout區域的最左上區域,而且無法為這些元素制指定一個確切的位置,若有多個元素,那么后面的元素會重疊顯示在前一個元素上。
TableLayout表格布局:
TableLayout是指將子元素的位置分配到行或列中。Android的一個TableLayout有許多TableRow組成,每一個 TableRow都會定義一個Row。TableLayout容器不會顯示Row,Column,及Cell的邊框線,每個Row擁有0個或多個 Cell,每個Cell擁有一個View對象。
表格布局常見屬性介紹:
a)TableLayout行列數的確定:
TableLayout的行數由開發人員直接指定,即有多少個TableRow對象(或View控件),就有多少行。
TableLayout的列數等于含有最多子控件的TableRow的列數。
如第一TableRow含2個子控件,第二個TableRow含3個,第三個TableRow含4個,那么該TableLayout的列數為4。
b)TableLayout可設置的屬性詳解:
TableLayout可設置的屬性包括全局屬性及單元格屬性。
? 全局屬性也即列屬性,有以下3個參數:
android:stretchColumns ? 設置可伸展的列該列可以向行方向伸展,最多可占據一整行
android:shrinkColumns ? ?設置可收縮的列當該列子控件的內容太多,已經擠滿所在行,那么該子控件的內容將往列方向顯示
android:collapseColumns設置要隱藏的列
示例:
android:stretchColumns="0"第0列可伸展
android:shrinkColumns="1,2" ? ? ? ?第1,2列皆可收縮
android:collapseColumns="*" ? ? ? ?隱藏所有行
說明:列可以同時具備stretchColumns及shrinkColumns屬性,若此,那么當該列的內容N多時,將“多行”顯示其內容。(這里不是真正的多行,而是系統根據需要自動調節該行的layout_height)
? 單元格屬性,有以下2個參數:
android:layout_column ? ?指定該單元格在第幾列顯示
android:layout_span ? ? ? 指定該單元格占據的列數(未指定時,為1)
示例:
android:layout_column="1" ? ?該控件顯示在第1列
android:layout_span="2" ? ? ? 該控件占據2列
說明:一個控件也可以同時具備這兩個特性。
GridLayout網格布局:
android4.0以上版本出現的GridLayout布局解決了以上問題。GridLayout布局使用虛細線將
布局劃分為行、列和單元格,也 支持一個控件在行、列上都有交錯排列。而GridLayout使用的其實是跟LinearLayout類似的API,只不過是修改了一下相關的標簽而已, 所以對于開發者來說,掌握GridLayout還是很容易的事情。GridLayout的布局策略簡單分為以下三個部分:
首先它與LinearLayout布局一樣,也分為水平和垂直兩種方式,默認是水平布局,一個控件挨著一個控件從左到右依次排列,但是通過指定 android:columnCount設置列數的屬性后,控件會自動換行進行排列。另一方面,對于GridLayout布局中的子控件,默認按照 wrap_content的方式設置其顯示,這只需要在GridLayout布局中顯式聲明即可。
其次,若要指定某控件顯示在固定的行或列,只需設置該子控件的android:layout_row和android:layout_column屬性即 可,但是需要注意:android:layout_row=”0”表示從第一行開始,android:layout_column=”0”表示從第一列開 始,這與編程語言中一維數組的賦值情況類似。
最后,如果需要設置某控件跨越多行或多列,只需將該子控件的android:layout_rowSpan或者 layout_columnSpan屬性設置為數值,再設置其layout_gravity屬性為fill即可,前一個設置表明該控件跨越的行數或列數, 后一個設置表明該控件填滿所跨越的整行或整列。
AbsoluteLayout絕對布局:
AbsoluteLayout絕對布局猶如div指定了absolute屬性,用X,Y坐標來指定元素的位置!該布局目前已經淘汰!
總結
以上是生活随笔為你收集整理的android使用桢布局,Android 常用布局的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WinForm下Splash(启动画面)
- 下一篇: android进出动画有白屏,Andro