第五章Android常見(jiàn)布局_第1頁(yè)
第五章Android常見(jiàn)布局_第2頁(yè)
第五章Android常見(jiàn)布局_第3頁(yè)
第五章Android常見(jiàn)布局_第4頁(yè)
第五章Android常見(jiàn)布局_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章Android常見(jiàn)布局小節(jié)安排Android常見(jiàn)布局5.1、LinearLayout線性布局

2.3、編寫(xiě)第一個(gè)Android應(yīng)用程序

2.2、開(kāi)發(fā)環(huán)境的搭建

5.4、TableLayout表格布局

5.3、FrameLayout框架布局5.2、RelativeLayout相對(duì)布局

5.4、TableLayout表格布局

5.5、GridLayout網(wǎng)格布局

布局組件Layout布局組件LayoutViewGroup是一個(gè)抽象類(lèi),也是其他容器類(lèi)的基類(lèi)。下面是它的一些實(shí)現(xiàn)類(lèi)線性布局LinearLayout相對(duì)布局RelativeLayout框架布局FrameLayout表格布局TableLayout絕對(duì)布局GridLayout網(wǎng)格布局線性布局LinearLayout線性布局(LinearLayout)是一種重要的界面布局中,也是經(jīng)常使用到的一種界面布局在線性布局中,所有的子元素都按照垂直或水平的順序在界面上排列,不會(huì)換行如果垂直排列,則每行僅包含一個(gè)界面元素如果水平排列,則每列僅包含一個(gè)界面元素屬性android:orientationHorizontalvertical線性布局LinearLayout線性布局(LinearLayout)在線性布局中,有個(gè)非常重要的屬性gravity,這個(gè)屬性用來(lái)指定組件內(nèi)容的對(duì)齊方式gravity的中文意思就是”重心“,就是表示view橫向和縱向的??课恢?,支持top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal幾個(gè)屬性值??梢酝瑫r(shí)指定多種對(duì)齊方式,如left|center_vertical表示出現(xiàn)在屏幕左邊,并且垂直居中

<LinearLayoutxmlns:android="android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"

android:gravity="bottom|center_horizontal"></LinearLayout>線性布局LinearLayout線性布局(LinearLayout)在線性布局中,LinearLayout有兩個(gè)非常相似的屬性:android:gravity與android:layout_gravity

android:gravity:是對(duì)view控件本身來(lái)說(shuō)的,是用來(lái)設(shè)置view本身的內(nèi)容應(yīng)該顯示在view的什么位置,默認(rèn)值是左側(cè)

。android:layout_gravity:是相對(duì)于包含該元素的父元素來(lái)說(shuō)的,設(shè)置該元素在父元素的什么位置

<Buttonandroid:android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="gravity測(cè)試"android:gravity="right"/><Buttonandroid:android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="layout_gravity測(cè)試"android:layout_gravity="right"/>線性布局LinearLayout線性布局(LinearLayout)在線性布局中,LinearLayout還支持為其包含的widget或者是container指定填充權(quán)值layout_weight

默認(rèn)的weight值為0,表示按照widgets或者是containers實(shí)際大小來(lái)顯示,若高于0的值,則將Container剩余可用空間分割,分割大小具體取決于每一個(gè)widget或者是container的layout_weight及該權(quán)值在所有widgets或者是containers中的比例

<Buttonandroid:android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="測(cè)試按鈕1"

android:layout_weight="3"/><Buttonandroid:android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="測(cè)試按鈕2"

android:layout_weight="2"/><Buttonandroid:android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="測(cè)試按鈕3"/>線性布局LinearLayout線性布局(LinearLayout)動(dòng)態(tài)創(chuàng)建布局在將每一個(gè)View加入到這個(gè)Layout里邊的時(shí)候,我們會(huì)傳傳遞一組值,這組值封裝在LayoutParams這個(gè)類(lèi)當(dāng)中。在顯示這個(gè)View的時(shí)候,它的容器會(huì)根據(jù)傳進(jìn)來(lái)的LayoutParams進(jìn)行計(jì)算,來(lái)確認(rèn)這個(gè)View顯示的大小和位置layout_width

-

寬layout_height

-

高//定義布局管理器的指定寬和高LinearLayout.LayoutParamsparams=newLinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);layout.setOrientation(LinearLayout.VERTICAL);線性布局LinearLayout小節(jié)安排Android常見(jiàn)布局5.1、LinearLayout線性布局

2.3、編寫(xiě)第一個(gè)Android應(yīng)用程序

2.2、開(kāi)發(fā)環(huán)境的搭建

5.4、TableLayout表格布局

5.3、FrameLayout框架布局5.2、RelativeLayout相對(duì)布局

5.4、TableLayout表格布局

5.5、GridLayout網(wǎng)格布局

相對(duì)布局RelativeLayout相對(duì)布局(RelativeLayout)是一種非常靈活的布局方式,能夠通過(guò)指定界面元素與其他元素的相對(duì)位置關(guān)系,確定界面中所有元素的布局位置特點(diǎn):能夠最大程度保證在各種屏幕類(lèi)型的手機(jī)上正確顯示界面布局在眾多布局中,推薦使用相對(duì)布局<RelativeLayoutandroid:android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="<TextViewandroid:android:layout_height="wrap_content"android:layout_width="fill_parent"android:text="用戶名:"></TextView><EditTextandroid:android:layout_height="wrap_content"android:layout_width="fill_parent"

android:</EditText></RelativeLayout>需要設(shè)置id相對(duì)布局RelativeLayout相對(duì)布局(RelativeLayout)實(shí)現(xiàn)如圖效果步驟添加TextView控件(“用戶名”),相對(duì)布局會(huì)將TextView控件放置在屏幕的最上方然后添加EditText控件(輸入框)并聲明該控件的位置在TextView控件的下方,相對(duì)布局會(huì)根據(jù)TextView的位置確定EditText控件的位置之后添加第一個(gè)Button控件(“取消”按鈕),聲明在EditText控件的下方,且在父控件的最右邊最后,添加第二個(gè)Button控件(“確認(rèn)”按鈕),聲明該控件在第一個(gè)Button控件的左方,且與第一個(gè)Button控件處于相同的水平位置<TextViewandroid:android:layout_height="wrap_content"android:layout_width="fill_parent"android:text="用戶名:"></TextView><EditTextandroid:android:layout_height="wrap_content"android:layout_width="fill_parent"

android:</EditText><Buttonandroid:android:layout_height="wrap_content"android:layout_width="wrap_content"

android:layout_alignParentRight="true"android:layout_marginLeft="10dip"

android:android:text="取消"></Button><Buttonandroid:android:layout_height="wrap_content"android:layout_width="wrap_content"

android:android:android:text="確認(rèn)"></Button>相對(duì)布局RelativeLayout相對(duì)布局(RelativeLayout)設(shè)置兩個(gè)控件之間的布局屬性說(shuō)明屬性值說(shuō)明android:layout_above將該控件的底部置于給定ID的控件之上android:layout_below將該控件的底部置于給定ID的控件之下android:layout_toLeftOf將該控件的右邊緣與給定ID的控件左邊緣對(duì)齊android:layout_toRightOf將該控件的左邊緣與給定ID的控件右邊緣對(duì)齊android:layout_alignTop將該控件的頂部邊緣與給定ID的頂部邊緣對(duì)齊android:layout_alignBottom將該控件的底部邊緣與給定ID的底部邊緣對(duì)齊android:layout_alignLeft將該控件的左邊緣與給定ID的左邊緣對(duì)齊android:layout_alignRight將該控件的右邊緣與給定ID的右邊緣對(duì)齊相對(duì)布局RelativeLayout設(shè)置與父控件之間布局的屬性說(shuō)明屬性值說(shuō)明android:layout_alignParentTop如果為true,將該控件的頂部與其父控件的頂部對(duì)齊

android:layout_alignParentBottom如果為true,將該控件的底部與其父控件的底部對(duì)齊android:layout_alignParentLeft如果為true,將該控件的左部與其父控件的左部對(duì)齊

android:layout_alignParentRight如果為true,將該控件的右部與其父控件的右部對(duì)齊android:layout_centerHorizontal如果為true,將該控件的置于水平居中android:layout_centerVertical如果為true,將該控件的置于垂直居中android:layout_centerInParent如果為true,將該控件的置于父控件的中央小節(jié)安排Android常見(jiàn)布局5.1、LinearLayout線性布局

2.3、編寫(xiě)第一個(gè)Android應(yīng)用程序

2.2、開(kāi)發(fā)環(huán)境的搭建

5.4、TableLayout表格布局

5.3、FrameLayout框架布局5.2、RelativeLayout相對(duì)布局

5.4、TableLayout表格布局

5.5、GridLayout網(wǎng)格布局

FrameLayout框架布局FrameLayout對(duì)象好比一塊在屏幕上提前預(yù)定好的空白區(qū)域,可以將一些元素填充在里面,如圖片。所有元素都被放置在FrameLayout區(qū)域的最左上區(qū)域,而且無(wú)法為這些元素制指定一個(gè)確切的位置,若有多個(gè)元素,那么后面的元素會(huì)重疊顯示在前一個(gè)元素上。FrameLayout框架布局FrameLayout常用屬性及對(duì)應(yīng)方法屬性名稱(chēng)對(duì)應(yīng)方法描述android:foregroundsetForeground(Drawable)設(shè)置繪制在所有子控件之上的內(nèi)容android:foregroundGravityandroid:ForegroundGravity(int)設(shè)置繪制在所有子控件之上內(nèi)容的gravity屬性FrameLayout框架布局小節(jié)安排Android常見(jiàn)布局5.1、LinearLayout線性布局

2.3、編寫(xiě)第一個(gè)Android應(yīng)用程序

2.2、開(kāi)發(fā)環(huán)境的搭建

5.4、TableLayout表格布局

5.3、FrameLayout框架布局5.2、RelativeLayout相對(duì)布局

5.4、TableLayout表格布局

5.5、GridLayout網(wǎng)格布局

表格布局TableLayout表格布局(TableLayout)也是一種常用的界面布局,它將屏幕劃分網(wǎng)格,通過(guò)指定行和列可以將界面元素添加的網(wǎng)格中網(wǎng)格的邊界對(duì)用戶是不可見(jiàn)的表格布局還支持嵌套,可以將另一個(gè)表格布局放置在前一個(gè)表格布局的網(wǎng)格中,也可以在表格布局中添加其他界面布局,例如線性布局、相對(duì)布局等等表格布局示意圖表格布局TableLayoutTableLayout常用屬性及對(duì)應(yīng)方法屬性名稱(chēng)對(duì)應(yīng)方法描述android:collapseColumnssetColumnsCollapsed(int,boolean)設(shè)定指定列號(hào)的列為Collapsed,列號(hào)從0開(kāi)始計(jì)算android:shrinkColumnssetShrinkAllColumns(boolean)設(shè)定指定列號(hào)的列為Shrinkable,列號(hào)從0開(kāi)始計(jì)算android:stretchColumnssetStretchAllColumns(boolean)設(shè)定指定列號(hào)的列為Stretchable,列號(hào)從0開(kāi)始計(jì)算表格布局TableLayout表格布局(TableLayout)一個(gè)表格布局由若干個(gè)<TableRow>標(biāo)簽組成每個(gè)<TableRow>都會(huì)定義一行,每行可以有0或多個(gè)單元格可以向單元格中添加組件,每添加一個(gè)組件表格就增加一列如果直接向TableLayout添加組件,組件將直接站一行<TableLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"><!--直接添加按鈕,它自己會(huì)占一行--><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="獨(dú)一行的按鈕"/><TableRow><!--添加一個(gè)表格行--><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="普通按鈕1"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="普通按鈕2"/></TableRow></TableLayout>表格布局TableLayout表格布局(TableLayout)TableLayout可以對(duì)列進(jìn)行隱藏,壓縮,拉伸android:shrinkColumns設(shè)置可以收縮的列號(hào)android:stretchColumns設(shè)置可以伸展的列號(hào)android:collapseColumns設(shè)置表格的列是否隱藏需要注意的是列號(hào)從0開(kāi)始,也可以用”*”表示指定所有的列,多列用逗號(hào)隔開(kāi)"0,1,2"<TableLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content“android:shrinkColumns="1"android:stretchColumns="2"><!--直接添加按鈕,它自己會(huì)占一行--><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="獨(dú)一行的按鈕"/><TableRow><!--添加一個(gè)表格行--><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="允許被收縮的按鈕"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="允許被拉伸的按鈕"/></TableRow></TableLayout>android:collapseColumns="1"android:stretchColumns=“1,2"小節(jié)安排Android常見(jiàn)布局5.1、LinearLayout線性布局

2.3、編寫(xiě)第一個(gè)Android應(yīng)用程序

2.2、開(kāi)發(fā)環(huán)境的搭建

5.4、TableLayout表格布局

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論