?? Android的界面是由布局和組件構(gòu)成的,布局就是一個(gè)框架,而組件按照布局的要求進(jìn)行排列,形成用戶使用的界面。Android有五大布局和四大組件,這五布局分別是LinearLayout線性布局、FrameLayout單幀布局,也有中文翻譯為幀布局、框架布局、RelativeLayout相對(duì)布局、AbsoluteLayout絕對(duì)布局和TableLayout表格布局。
一、LinearLayout
線性布局是Android開發(fā)中最常見的布局方式,它可以“android:orientation”屬性設(shè)置線性布局方向是垂直還是水平。線性布局的排列在某行或者某列并不會(huì)自動(dòng)換行或換列。常用的屬性:
1.android:orientation:可以設(shè)置布局的方向
2.android:id -為控件指定相應(yīng)的ID
3.android:text -指定控件當(dāng)中顯示的文字,需要注意的是,這里盡量使用string.xml
4.android:gravity -指定控件的基本位置,比如說居中,居右等位置
5.android:textSize -指定控件當(dāng)中字體的大小
6.android:background -指定控件所用的背景色,RGB命名法
7.android:layout_width -指定控件的寬度
8.android:layout_height -指定控件的高度
9.android:layout_weight -指定控件的占用比例
10.android:padding -指定控件的內(nèi)邊距,也就是說控件當(dāng)中的內(nèi)容
11.android:sigleLine -如果設(shè)置為真的話,則將控件的內(nèi)容顯示在一行當(dāng)中
二、FrameLayout
單幀布局是布局中最簡單的一個(gè)布局,在這個(gè)布局中,整個(gè)界面被當(dāng)成一塊空白備用區(qū)域,所有的子元素都不能被指定放置的位置,它們統(tǒng)統(tǒng)放于這塊區(qū)域的左上角,并且后面的子元素直接覆蓋在前面的子元素之上,將前面的子元素部分和全部遮擋。
三、RelativeLayout
相對(duì)布局除線性布局之外最常用的,它相對(duì)于線性布局來說比較靈活,在進(jìn)行組件布局的時(shí)候用線性布局往往需要進(jìn)行布局嵌套,而相對(duì)布局就不會(huì)那么麻煩,每個(gè)組件都可以指定與其它組件或父組件的位置,只是必須通過ID來進(jìn)行指定。
常用屬性:
1.android:layout_above="@id/xxx"將控件置于給定ID控件之上
2.android:layout_below="@id/xxx"將控件置于給定ID控件之下
3. android:layout_toLeftOf="@id/xxx"將控件的右邊緣和給定ID控件的左邊緣對(duì)齊
4.android:layout_toRightOf="@id/xxx"將控件的左邊緣和給定ID控件的右邊緣對(duì)齊
5.android:layout_alignLeft="@id/xxx"將控件的左邊緣和給定ID控件的左邊緣對(duì)齊
6.android:layout_alignTop="@id/xxx"--將控件的上邊緣和給定ID控件的上邊緣對(duì)齊
7.android:layout_alignRight="@id/xxx"--將控件的右邊緣和給定ID控件的右邊緣對(duì)齊
8.android:layout_alignBottom="@id/xxx"--將控件的底邊緣和給定ID控件的底邊緣對(duì)齊
9.android:layout_alignParentLeft="true"--將控件的左邊緣和父控件的左邊緣對(duì)齊
10.android:layout_alignParentTop="true"--將控件的上邊緣和父控件的上邊緣對(duì)齊
11.android:layout_alignParentRight="true"--將控件的右邊緣和父控件的右邊緣對(duì)齊
12.android:layout_alignParentBottom="true"
--將控件的底邊緣和父控件的底邊緣對(duì)齊
13.android:layout_centerInParent="true"--將控件置于父控件的中心位置
14.android:layout_centerHorizontal="true"--將控件置于水平方向的中心位置
15.android:layout_centerVertical="true"--將控件置于垂直方向的中心位置
android:layout_width設(shè)置組件的寬度
android:layout_height設(shè)置組件的高度
android:id給組件定義一個(gè)id值,供后期使用
android:background設(shè)置組件的背景顏色或背景圖片
android:text設(shè)置組件的顯示文字
android:textColor設(shè)置組件的顯示文字的顏色
android:layout_below組件在參考組件的下面
android:alignTop同指定組件的頂平行
android:visibility="visible"控件的可見度:(3種狀態(tài))
android:background="#F00"控件的背景:(顏色圖片)
android:maxLength="6"限制輸入字?jǐn)?shù)
四、AbsoluteLayout
絕對(duì)布局用法如其名,組件的位置可以準(zhǔn)確的指定其在屏幕的x/y坐標(biāo)位置。雖然可以精確的去規(guī)定坐標(biāo),但是由于代碼的書寫過于剛硬,使得在不同的設(shè)備,不同分辨率的手機(jī)移動(dòng)設(shè)備上不能很好的顯示應(yīng)有的效果,所以此布局不怎么被推薦使用。在此布局中的子元素的android:layout_x和android:layout_y屬性將生效,用于描述該子元素的坐標(biāo)位置。通常不采用此布局。
五、TableLayout
表格布局適用于N行N列的布局格式。一個(gè)TableLayout由許多TableRow組成,一個(gè)TableRow就代表TableLayout中的一行。