




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、android 界面布局 很好的一篇總結(jié) 【轉(zhuǎn)】熱度 15已有 727 次閱讀2012-3-7 14:17 |個人分類:android開發(fā)基礎(chǔ)篇| android, 布局出處:布局: 在 android 中我們常用的布局方式有這么幾種: 1.LinearLayout ( 線性布局 ) :(里面只可以有一個控件,并且不能設(shè)計這個控件的位置,控件會放到左上角) 線性布局分為水平線性和垂直線性二者的屬性分別為: android:orientation= horizontal android:orientation= vertical 。 2.RelativeLayout ( 相對布局 ) : (里面
2、可以放多個控件,但是一行只能放一個控件) 附加幾類 RelativeLayout 的屬性供大家參考: 第一類 : 屬性值為 true 或 falseandroid:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相對于父元素完全居中 android:layout_alignParentBottom 貼緊父元素的下邊緣 android:layout_alignParentLeft 貼緊父元素的左邊緣 android:layout_alignParentRigh
3、t 貼緊父元素的右邊緣 android:layout_alignParentTop 貼緊父元素的上邊緣 android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做參照物 第二類:屬性值必須為 id 的引用名“ id/id-name ” android:layout_below 在某元素的下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左邊 android:layout_toRightOf 在某元素的右邊 android:layout_alignTop 本元素的上邊緣和某元素
4、的的上邊緣對齊 android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊 android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊 android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊 第三類:屬性值為具體的像素值,如 30dip , 40pxandroid:layout_marginBottom 離某元素底邊緣的距離 android:layout_marginLeft 離某元素左邊緣的距離 android:layout_marginRight 離某元素右邊緣的距離 android:layout
5、_marginTop 離某元素上邊緣的距離 3.TableLayout ( 表格布局 ) : (這個要和TableRow配合使用,很像html里面的table) 這個表格布局不像HTML中的表格那樣靈活,只能通過 TableRow 屬性來控制它的行而列的話里面有幾個控件就是幾列(一般情況)。 如: 表示兩行兩列的一個表格。android:gravity=center 書面解釋是權(quán)重比。其時就是讓它居中顯示。它還可以動態(tài)添加里面的每行每列。如下代碼所示:/*根據(jù)id查找表格對象*/TableLayout tableLayout = (TableLayout) findViewById(R.id.
6、table01);/*創(chuàng)建列對象*/TableRow tableRow = new TableRow(this);/*文本框?qū)ο?/TextView temp = new TextView(this);temp.setText(text的值);/*將此文本添加到列中*/tableRow.addView(temp);android:stretchColumns=1,2,3,4 它的意思就是自動拉伸1,2,3,4列。 4.AbsoluteLayout ( 絕對布局 ) : (里面可以放多個控件,并且可以自己定義控件的x,y的位置) 5.FrameLayout ( 幀布局 ) :(里面可以放多個控件
7、,不過控件的位置都是相對位置) 在它里面的控件都是按后面的一個控件疊加在前一個控件上來顯示的,所有元素都被放置在最左上角。 如: 表示的是id為f1的控件疊加在id為iv1的控件上面顯示 (LinearLayout 和 RelativeLayout 應(yīng)該又是其中用的較多的兩種。AbsoluteLayout 比較少用,因為它是按屏幕的絕對位置來布局的如果屏幕大小發(fā)生改變的話控件的位置也發(fā)生了改變。這個就相當(dāng)于HTML中的絕對布局一樣,一般不推薦使用 ) 注意事項: 1 、各布局不要亂用各自的屬性。比如把屬于 AbsoluteLayout 布局的android:layout_x和android:l
8、ayout_y用到 LinearLayout 布局或 RelativeLayout 布局,或者把 RelativeLayout 布局的 below , rightof 等屬性應(yīng)用到其他布局中。這樣做雖然不會報錯,但這是白浪費(fèi)感情的工作,根本達(dá)不到我們需要的效果。 2 、關(guān)于android:layout_width=fill_parent 和 android:layout_height=wrap_content ,這是對每個布局寬和高的設(shè)置。 wrap_content 可表示隨著其中控件的不同而改變這個布局的寬度或高度,類似于自動設(shè)置寬和高, fill_parent 使布局填充整個屏幕,另外還有
9、一種 match_parent ,它本質(zhì)上和 fill_parent 一樣,并從 API Level8 開始替代 fill_parent 。 TextView 的屬性 :android:autoLink /設(shè)置是否當(dāng)文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接??蛇x值(none/web /email/phone/map/all)android:autoText /如果設(shè)置,將自動執(zhí)行輸入值的拼寫糾正。此處無效果,在顯示輸入法并輸入的時候起作用android:bufferType /指定getText()方式取得的文本類別。選項editable 類似于StringBu
10、ilder可追加字符,也就是說getText后可調(diào)用append方法設(shè)置文本內(nèi)容。spannable 則可在給定的字符區(qū)域使用樣式android:capitalize /設(shè)置英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明android:cursorVisible /設(shè)定光標(biāo)為顯示/隱藏,默認(rèn)顯示android:digits /設(shè)置允許輸入哪些字符。如“1234567890.+-*/% ()”android:drawableBottom /在text的下方輸出一個drawable,如圖片。如果指定一個顏色的話會把text的背景設(shè)為該顏色,并且同時和back
11、ground使用時覆蓋后者android:drawableLeft /在text的左邊輸出一個drawable,如圖片android:drawablePadding /設(shè)置text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設(shè)置為負(fù)數(shù),單獨(dú)使用沒有效果android:drawableRight /在text的右邊輸出一個drawableandroid:drawableTop /在text的正上方輸出一個drawableandroid:editable /設(shè)置是否可編輯android:
12、editorExtras /設(shè)置文本的額外的輸入數(shù)據(jù)android:ellipsize /設(shè)置當(dāng)文字過長時,該控件該如何顯示。有如下值設(shè)置:”start”?省略號顯示在開頭;”end” 省略號顯示在結(jié)尾;”middle”-省略號顯示在中間;”marquee” 以跑馬燈的方式顯示(動畫橫向移動)android:freezesText /設(shè)置保存文本的內(nèi)容以及光標(biāo)的位置android:gravity /設(shè)置文本位置,如設(shè)置成“center”,文本將居中顯示android:hintText /為空時顯示的文字提示信息,可通過textColorHint設(shè)置提示信息的顏色。此屬性在 EditView中使
13、用,但是這里也可以用android:imeOptions /附加功能,設(shè)置右下角IME動作與編輯框相關(guān)的動作,如actionDone右下角將顯示一個“完成”,而不設(shè)置默認(rèn)是一個回車符號。這個在EditView中再詳細(xì)說明,此處無用android:imeActionId /設(shè)置IME動作IDandroid:imeActionLabel /設(shè)置IME動作標(biāo)簽android:includeFontPadding /設(shè)置文本是否包含頂部和底部額外空白,默認(rèn)為trueandroid:inputMethod /為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.in
14、putmethod.pinyin,但是這里報錯找不到android:inputType /設(shè)置文本的類型,用于幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細(xì)說明,這里無效果android:linksClickable /設(shè)置鏈接是否點擊連接,即使設(shè)置了autoLinkandroid:marqueeRepeatLimit /在ellipsize指定marquee的情況下,設(shè)置重復(fù)滾動的次數(shù),當(dāng)設(shè)置為 marquee_forever時表示無限次android:ems /設(shè)置TextView的寬度為N個字符的寬度。這里測試為一個漢字字符寬度android:maxEms /設(shè)置TextVie
15、w的寬度為最長為N個字符的寬度。與ems同時使用時覆蓋ems選項android:maxLength /限制顯示的文本長度,超出部分不顯示android:lines /設(shè)置文本的行數(shù),設(shè)置兩行就顯示兩行,即使第二行沒有數(shù)據(jù)android:maxLines /設(shè)置文本的最大顯示行數(shù),與width或者layout_width結(jié)合使用,超出部分自動換行,超出行數(shù)將不顯示android:minLines /設(shè)置文本的最小行數(shù),與lines類似android:lineSpacingExtra /設(shè)置行間距android:lineSpacingMultiplier /設(shè)置行間距的倍數(shù)。如”$2android
16、:numeric /如果被設(shè)置,該TextView有一個數(shù)字輸入法。此處無用,設(shè)置后唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細(xì)說明android:password /以小點”.”顯示文本 android:phoneNumber設(shè)置為電話號碼的輸入方式android:privateImeOptions /設(shè)置輸入法選項,此處無用,在EditText將進(jìn)一步討論android:scrollHorizontally /設(shè)置文本超出TextView的寬度的情況下,是否出現(xiàn)橫拉條android:selectAllOnFocus /如果文本是可選擇的,讓他獲取焦點而不是將光標(biāo)移動
17、為文本的開始位置或者末尾位置。TextView中設(shè)置后無效果android:shadowColor /指定文本陰影的顏色,需要與shadowRadius一起使用android:shadowDx /設(shè)置陰影橫向坐標(biāo)開始位置android:shadowDy /設(shè)置陰影縱向坐標(biāo)開始位置android:shadowRadius /設(shè)置陰影的半徑。設(shè)置為0.1就變成字體的顏色了,一般設(shè)置為3.0的效果比較好android:singleLine /設(shè)置單行顯示。如果和layout_width一起使用,當(dāng)文本不能全部顯示時,后面用“”來表示。如android:text=test_ singleLine an
18、droid:singleLine=true android:layout_width=20dp將只顯示“t”。如果不設(shè)置singleLine或者設(shè)置為false,文本將自動換行 android:text設(shè)置顯示文本. android:textAppearance設(shè)置文字外觀。如 “?android:attr/textAppearanceLargeInverse”這里引用的是系統(tǒng)自帶的一個外觀,?表示系統(tǒng)是否有這種外觀,否 則使用默認(rèn)的外觀??稍O(shè)置的值如下:textAppearanceButton/textAppearanceInverse /textAppearanceLarge/textAp
19、pearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverseandroid:textColor /設(shè)置文本顏色android:textColorHighlight /被選中文字的底色,默認(rèn)為藍(lán)色android:textColorHint /設(shè)置提示信息文字的顏色,默認(rèn)為灰色。與hint一起使用。android:textColorLink /文字鏈接的顏色.android:textScaleX /設(shè)置文字之間間隔,默認(rèn)為$2。
20、android:textSize /設(shè)置文字大小,推薦度量單位”sp”,如”15sp”android:textStyle /設(shè)置字形bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2 可以設(shè)置一個或多個,用“|”隔開android:typeface /設(shè)置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3android:height /設(shè)置文本區(qū)域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)android:maxHeight /設(shè)置文本區(qū)域的最大高度android:
21、minHeight /設(shè)置文本區(qū)域的最小高度android:width /設(shè)置文本區(qū)域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width 的區(qū)別看這里android:maxWidth /設(shè)置文本區(qū)域的最大寬度android:minWidth /設(shè)置文本區(qū)域的最小寬度 android布局屬性詳解 RelativeLayout用到的一些重要的屬性:第一類:屬性值為true或falseandroid:layout_centerHrizontal /水平居中android:layout_centerVertical /垂直居中android:layout_c
22、enterInparent /相對于父元素完全居中android:layout_alignParentBottom /貼緊父元素的下邊緣android:layout_alignParentLeft /貼緊父元素的左邊緣android:layout_alignParentRight /貼緊父元素的右邊緣android:layout_alignParentTop /貼緊父元素的上邊緣android:layout_alignWithParentIfMissing /如果對應(yīng)的兄弟元素找不到的話就以父元素做參照物 第二類:屬性值必須為id的引用名“id/id-name”android:layout_b
23、elow /在某元素的下方android:layout_above /在某元素的的上方android:layout_toLeftOf /在某元素的左邊android:layout_toRightOf /在某元素的右邊android:layout_alignTop /本元素的上邊緣和某元素的的上邊緣對齊android:layout_alignLeft /本元素的左邊緣和某元素的的左邊緣對齊android:layout_alignBottom /本元素的下邊緣和某元素的的下邊緣對齊android:layout_alignRight /本元素的右邊緣和某元素的的右邊緣對齊 第三類:屬性值為具體的像素
24、值,如30dip,40pxandroid:layout_marginBottom /離某元素底邊緣的距離android:layout_marginLeft /離某元素左邊緣的距離android:layout_marginRight /離某元素右邊緣的距離android:layout_marginTop /離某元素上邊緣的距離 EditText的android:hint 設(shè)置EditText為空時輸入框內(nèi)的提示信息android:gravity /屬性是對該view 內(nèi)容的限定比如一個button 上面的text. 你可以設(shè)置該text 在view的靠左,靠右等位置以button為例,andro
25、id:gravity=right則button上面的文字靠右 android:layout_gravity android:layout_gravity是用來設(shè)置該view相對與起父view 的位置比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設(shè)置以button為 例,android:layout_gravity=right則button靠右 android:layout_alignParentRight 使當(dāng)前控件的右端和父控件的右端對齊。這里屬性值只能為true或false,默認(rèn)false。 android:scaleType:
26、 android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。 ImageView.ScaleType / android:scaleType值的意義區(qū)別: CENTER /center 按圖片的原來size居中顯示,當(dāng)圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示 CENTER_CROP / centerCrop 按比例擴(kuò)大圖片的size居中顯示,使得圖片長(寬)等于或大于View的長(寬) CENTER_INSIDE / centerInside 將圖片的內(nèi)容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等于或小于Vi
27、ew的長/寬 FIT_CENTER / fitCenter 把圖片按比例擴(kuò)大/縮小到View的寬度,居中顯示 FIT_END / fitEnd 把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的下部分位置 FIT_START / fitStart 把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的上部分位置 FIT_XY / fitXY 把圖片不按比例擴(kuò)大/縮小到View的大小顯示 MATRIX / matrix 用矩陣來繪制,動態(tài)縮小放大圖片來顯示。 * 要注意一點,Drawable文件夾里面的圖片命名是不能大寫的 Edittext 的屬性 : EditText繼承關(guān)系:View
28、-TextView-EditText。 EditText 的屬性很多,這里介紹幾個: android:layout_gravity=center_vertical /設(shè)置控件顯示的位置:默認(rèn)top,這里居中顯示,還有bottom android:hint=請輸入數(shù)字! /設(shè)置顯示在空間上的提示信息 android:numeric=integer /設(shè)置只能輸入整數(shù),如果是小數(shù)則是:decimal android:singleLine=true /設(shè)置單行輸入,一旦設(shè)置為true,則文字不會自動換行。 android:password=true /設(shè)置只能輸入密碼 android:textCol
29、or = #ff$200 /字體顏色 android:textStyle=bold /字體,bold, italic, bolditalic android:textSize=20dip /大小 android:capitalize = characters /以大寫字母寫 android:textAlign=center /EditText沒有這個屬性,但TextView有,居中 android:textColorHighlight=#cccccc /被選中文字的底色,默認(rèn)為藍(lán)色 android:textColorHint=#ffff00 /設(shè)置提示信息文字的顏色,默認(rèn)為灰色 android:textScaleX=1.5 /控制字與字之間的間距 android:typeface=monospace /字型,normal, sans, serif, monospace android:background=null /空間背景,這里沒有,指透明 android:layout_weight=1 /權(quán)重,控制控件之間的地位,在控制控件顯示的大小時蠻有用的。 android:textAppearance=?android:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京城市職業(yè)學(xué)院《認(rèn)識有趣的微生物》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北建材職業(yè)技術(shù)學(xué)院《建筑工程概預(yù)算A》2023-2024學(xué)年第二學(xué)期期末試卷
- 福州理工學(xué)院《中國現(xiàn)當(dāng)代文學(xué)(四)》2023-2024學(xué)年第一學(xué)期期末試卷
- 宿州學(xué)院《動作技能學(xué)習(xí)與控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 中原工學(xué)院《公共建筑設(shè)備工程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 赤峰應(yīng)用技術(shù)職業(yè)學(xué)院《數(shù)值計算方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 河北邢臺市臨西縣2025年三下數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 公園自行車道與騎行服務(wù)調(diào)研報告
- 工程支付擔(dān)保制度
- 第17課 明朝的滅亡和清朝的建立 教案2024-2025學(xué)年七年級歷史下冊新課標(biāo)
- 2025年徐州生物工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年廣東江門中醫(yī)藥職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 2025年阜陽職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025年新公司法知識競賽題庫與答案
- 2025年新人教版物理八年級下冊全冊教案
- 形象設(shè)計師三級習(xí)題庫及答案
- 2025屆高考英語復(fù)習(xí)讀后續(xù)寫練習(xí)+男孩與愛犬:失而復(fù)得的溫暖+課件
- 2025上半年四川綿陽市北川縣事業(yè)單位招聘工作人員擬聘高頻重點提升(共500題)附帶答案詳解
- 廠中廠安全知識培訓(xùn)
- 高速鐵路設(shè)計規(guī)范-12.綜合接地(第一稿)提交
- 北京化工大學(xué)《微機(jī)原理及接口技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
評論
0/150
提交評論