android布局的一些知识
生活随笔
收集整理的這篇文章主要介紹了
android布局的一些知识
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(一)
android:layout_alignParentBottom 控制該組件是否與布局容器底端對(duì)齊
android:layout_alignParentLeft 控制該組件是否與布局容器左邊對(duì)齊
android:layout_alignParentRight 控制該組件是否與布局容器右邊對(duì)齊
android:layout_alignParentTop 控制該組件是否與布局容器頂端對(duì)齊
--------------------------------------------------------------------
align對(duì)齊 parent父容器 alignParentBottom就是說(shuō)你是否要和你的父布局的
底端進(jìn)行對(duì)齊。
(二)
android:orientation
--------------------------------------------------------------------
這是線性布局LinerLayout的一個(gè)特有屬性,用來(lái)設(shè)置線性布局的方向,可以
設(shè)置為horizontal或者vertical。
一定要注意設(shè)置屬性android:orientation屬性,否則有的
組件可能無(wú)法顯示。該屬性不設(shè)置時(shí)默認(rèn)為horizontal。此時(shí)第一個(gè)控件的
寬度若設(shè)置成“fill_parent”,后面添加的組件將都無(wú)法看到。因此使用該布
局的時(shí)候要注意設(shè)置android:orientation="vertical"。
(三)
android:gravity與android:layout_gravity
--------------------------------------------------------------------
這是android線性布局的兩個(gè)屬性
android:gravity屬性是對(duì)該view中內(nèi)容的限定,比如一個(gè)button上面有text.?
你可以設(shè)置該text 相對(duì)于整個(gè)View的靠左,靠右等位置.
android:layout_gravity是用來(lái)設(shè)置該view相對(duì)與父view的位置.比如一個(gè)
button 在linearlayout里,你想把該button放在linearlayout里靠左、
靠右等位置就可以通過(guò)該屬性設(shè)置.
(四)
android:layout_width android:layout_height
--------------------------------------------------------------------
這個(gè)屬性有三個(gè)值,分別為fill_parent,wrap_content,match_parent。
(1)fill_parent
設(shè)置一個(gè)構(gòu)件的布局為fill_parent將強(qiáng)制性地使構(gòu)件擴(kuò)展,以填充布局單元內(nèi)
盡可能多的空間。這跟Windows控件的dockstyle屬性大體一致。設(shè)置一個(gè)頂部
布局或控件為fill_parent將強(qiáng)制性讓它布滿整個(gè)屏幕。
這個(gè)參數(shù)不可以單純的理解為占滿整個(gè)屏幕,其實(shí)并不是這樣,它只是盡可能多
的充滿父布局的空白位置。
(2)wrap_content
設(shè)置一個(gè)視圖的尺寸為wrap_content將強(qiáng)制性地使視圖擴(kuò)展以顯示全部?jī)?nèi)容。
以TextView和ImageView控件為例,設(shè)置為wrap_content將完整顯示其內(nèi)部的
文本和圖像。布局元素將根據(jù)內(nèi)容更改大小。設(shè)置一個(gè)視圖的尺寸為
wrap_content大體等同于設(shè)置Windows控件的Autosize屬性為True。
其實(shí)也就是說(shuō)把控件本身的大小顯示出來(lái),保證控件內(nèi)容的完整性。
(3)match_parent
?Android2.2中match_parent和fill_parent是一個(gè)意思 .兩個(gè)參數(shù)意思一樣,
?match_parent更貼切,于是從2.2開(kāi)始兩個(gè)詞都可以用。那么如果考慮低版
?本的使用情況你就需要用fill_parent了。
(五)
android:scaleType/ImageView.ScaleType
--------------------------------------------------------------------
ImageView的Scaletype決定了圖片在View上顯示時(shí)的樣子,如進(jìn)行何種比例的
縮放,及顯示圖片的整體還是部分,等等。
CENTER /center
按圖片的原來(lái)size居中顯示,當(dāng)圖片長(zhǎng)/寬超過(guò)View的長(zhǎng)/寬,則截取圖片的
居中部分顯示
CENTER_CROP / centerCrop
按比例擴(kuò)大圖片的size進(jìn)行顯示,使得圖片長(zhǎng)(寬)等于或大于View的長(zhǎng)(寬)
我的理解就是說(shuō)把這張圖片按原來(lái)的長(zhǎng)寬比進(jìn)行擴(kuò)大以使這個(gè)圖片的長(zhǎng)或者寬
能夠和這個(gè)View的大小一樣。長(zhǎng)或者寬都必須充滿view,長(zhǎng)或?qū)捴凶疃痰亩嫉?
和view的尺寸一樣。
CENTER_INSIDE / centerInside
將圖片的內(nèi)容完整居中顯示,通過(guò)按比例縮小或原來(lái)的size使得圖片長(zhǎng)/寬等
于或小于View的長(zhǎng)/寬
這個(gè)屬性和上一個(gè)屬性是對(duì)應(yīng)的一個(gè)進(jìn)行放大,一個(gè)進(jìn)行縮小。如果原圖本身
就長(zhǎng)寬都比view的小那么就會(huì)按原圖進(jìn)行顯示。
FIT_CENTER / fitCenter?
把圖片按比例擴(kuò)大/縮小到View的寬度,居中顯示
注意這句說(shuō)的是擴(kuò)大或縮小,也就是說(shuō)如果你原圖即使比view的長(zhǎng)寬都小,也要進(jìn)行
擴(kuò)大一滿足長(zhǎng)或?qū)捄蛌iew的長(zhǎng)或?qū)捪噙m應(yīng)。
FIT_END / fitEnd ??
把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的下部分位置,和fitCenter相同
只不過(guò)是放置的位置不同。
FIT_START / fitStart ?
把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的上部分位置,和fitCenter相同
只不過(guò)是放置的位置不同。
FIT_XY / fitXY
不按比例縮放圖片,目標(biāo)是把圖片塞滿整個(gè)View
MATRIX / matrix?
用矩陣來(lái)繪制(從左上角起始的矩陣區(qū)域)
繪制時(shí),使用圖像矩陣方式縮放。圖像矩陣可以通過(guò) setImageMatrix(Matrix) 設(shè)置。
在 XML 中可以使用的語(yǔ)法: android:scaleType="matrix"。
matrix這個(gè)是比較重要的。設(shè)置了該屬性之后ImageView控件就可以在代碼中通過(guò)
Matrix進(jìn)行縮小放大控制圖片了
(六)
android:layout_above ? ? ? 在某元素的的上方
android:layout_toLeftOf ? ?在某元素的左邊
android:layout_toRightOf ? 在某元素的右邊
android:layout_alignTop ? ?本元素的上邊緣和某元素的的上邊緣對(duì)齊
android:layout_alignLeft ? 本元素的左邊緣和某元素的的左邊緣對(duì)齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對(duì)齊
android:layout_alignRight ?本元素的右邊緣和某元素的的右邊緣對(duì)齊
android:layout_alignParentBottom 控制該組件是否與布局容器底端對(duì)齊
android:layout_alignParentLeft 控制該組件是否與布局容器左邊對(duì)齊
android:layout_alignParentRight 控制該組件是否與布局容器右邊對(duì)齊
android:layout_alignParentTop 控制該組件是否與布局容器頂端對(duì)齊
--------------------------------------------------------------------
align對(duì)齊 parent父容器 alignParentBottom就是說(shuō)你是否要和你的父布局的
底端進(jìn)行對(duì)齊。
(二)
android:orientation
--------------------------------------------------------------------
這是線性布局LinerLayout的一個(gè)特有屬性,用來(lái)設(shè)置線性布局的方向,可以
設(shè)置為horizontal或者vertical。
一定要注意設(shè)置屬性android:orientation屬性,否則有的
組件可能無(wú)法顯示。該屬性不設(shè)置時(shí)默認(rèn)為horizontal。此時(shí)第一個(gè)控件的
寬度若設(shè)置成“fill_parent”,后面添加的組件將都無(wú)法看到。因此使用該布
局的時(shí)候要注意設(shè)置android:orientation="vertical"。
(三)
android:gravity與android:layout_gravity
--------------------------------------------------------------------
這是android線性布局的兩個(gè)屬性
android:gravity屬性是對(duì)該view中內(nèi)容的限定,比如一個(gè)button上面有text.?
你可以設(shè)置該text 相對(duì)于整個(gè)View的靠左,靠右等位置.
android:layout_gravity是用來(lái)設(shè)置該view相對(duì)與父view的位置.比如一個(gè)
button 在linearlayout里,你想把該button放在linearlayout里靠左、
靠右等位置就可以通過(guò)該屬性設(shè)置.
(四)
android:layout_width android:layout_height
--------------------------------------------------------------------
這個(gè)屬性有三個(gè)值,分別為fill_parent,wrap_content,match_parent。
(1)fill_parent
設(shè)置一個(gè)構(gòu)件的布局為fill_parent將強(qiáng)制性地使構(gòu)件擴(kuò)展,以填充布局單元內(nèi)
盡可能多的空間。這跟Windows控件的dockstyle屬性大體一致。設(shè)置一個(gè)頂部
布局或控件為fill_parent將強(qiáng)制性讓它布滿整個(gè)屏幕。
這個(gè)參數(shù)不可以單純的理解為占滿整個(gè)屏幕,其實(shí)并不是這樣,它只是盡可能多
的充滿父布局的空白位置。
(2)wrap_content
設(shè)置一個(gè)視圖的尺寸為wrap_content將強(qiáng)制性地使視圖擴(kuò)展以顯示全部?jī)?nèi)容。
以TextView和ImageView控件為例,設(shè)置為wrap_content將完整顯示其內(nèi)部的
文本和圖像。布局元素將根據(jù)內(nèi)容更改大小。設(shè)置一個(gè)視圖的尺寸為
wrap_content大體等同于設(shè)置Windows控件的Autosize屬性為True。
其實(shí)也就是說(shuō)把控件本身的大小顯示出來(lái),保證控件內(nèi)容的完整性。
(3)match_parent
?Android2.2中match_parent和fill_parent是一個(gè)意思 .兩個(gè)參數(shù)意思一樣,
?match_parent更貼切,于是從2.2開(kāi)始兩個(gè)詞都可以用。那么如果考慮低版
?本的使用情況你就需要用fill_parent了。
(五)
android:scaleType/ImageView.ScaleType
--------------------------------------------------------------------
ImageView的Scaletype決定了圖片在View上顯示時(shí)的樣子,如進(jìn)行何種比例的
縮放,及顯示圖片的整體還是部分,等等。
CENTER /center
按圖片的原來(lái)size居中顯示,當(dāng)圖片長(zhǎng)/寬超過(guò)View的長(zhǎng)/寬,則截取圖片的
居中部分顯示
CENTER_CROP / centerCrop
按比例擴(kuò)大圖片的size進(jìn)行顯示,使得圖片長(zhǎng)(寬)等于或大于View的長(zhǎng)(寬)
我的理解就是說(shuō)把這張圖片按原來(lái)的長(zhǎng)寬比進(jìn)行擴(kuò)大以使這個(gè)圖片的長(zhǎng)或者寬
能夠和這個(gè)View的大小一樣。長(zhǎng)或者寬都必須充滿view,長(zhǎng)或?qū)捴凶疃痰亩嫉?
和view的尺寸一樣。
CENTER_INSIDE / centerInside
將圖片的內(nèi)容完整居中顯示,通過(guò)按比例縮小或原來(lái)的size使得圖片長(zhǎng)/寬等
于或小于View的長(zhǎng)/寬
這個(gè)屬性和上一個(gè)屬性是對(duì)應(yīng)的一個(gè)進(jìn)行放大,一個(gè)進(jìn)行縮小。如果原圖本身
就長(zhǎng)寬都比view的小那么就會(huì)按原圖進(jìn)行顯示。
FIT_CENTER / fitCenter?
把圖片按比例擴(kuò)大/縮小到View的寬度,居中顯示
注意這句說(shuō)的是擴(kuò)大或縮小,也就是說(shuō)如果你原圖即使比view的長(zhǎng)寬都小,也要進(jìn)行
擴(kuò)大一滿足長(zhǎng)或?qū)捄蛌iew的長(zhǎng)或?qū)捪噙m應(yīng)。
FIT_END / fitEnd ??
把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的下部分位置,和fitCenter相同
只不過(guò)是放置的位置不同。
FIT_START / fitStart ?
把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的上部分位置,和fitCenter相同
只不過(guò)是放置的位置不同。
FIT_XY / fitXY
不按比例縮放圖片,目標(biāo)是把圖片塞滿整個(gè)View
MATRIX / matrix?
用矩陣來(lái)繪制(從左上角起始的矩陣區(qū)域)
繪制時(shí),使用圖像矩陣方式縮放。圖像矩陣可以通過(guò) setImageMatrix(Matrix) 設(shè)置。
在 XML 中可以使用的語(yǔ)法: android:scaleType="matrix"。
matrix這個(gè)是比較重要的。設(shè)置了該屬性之后ImageView控件就可以在代碼中通過(guò)
Matrix進(jìn)行縮小放大控制圖片了
(六)
android:layout_above ? ? ? 在某元素的的上方
android:layout_toLeftOf ? ?在某元素的左邊
android:layout_toRightOf ? 在某元素的右邊
android:layout_alignTop ? ?本元素的上邊緣和某元素的的上邊緣對(duì)齊
android:layout_alignLeft ? 本元素的左邊緣和某元素的的左邊緣對(duì)齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對(duì)齊
android:layout_alignRight ?本元素的右邊緣和某元素的的右邊緣對(duì)齊
總結(jié)
以上是生活随笔為你收集整理的android布局的一些知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Apache Tomcat 官网下载
- 下一篇: 【Fiddler】从零开始学习Fiddl