androidscaletype
㈠ Android中ImnageView 中如何讓圖片拉伸顯示
通過設置android:scaleType="fitXY"使得圖片拉伸顯示。
補充:
scaleType的屬性有matrix(默認)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY。
android:scaleType="center"
保持原圖的大小,顯示在ImageView的中心。當原圖的size大於ImageView的size,超過部分裁剪處理。
android:scaleType="centerCrop"
以填滿整個ImageView為目的,將原圖的中心對准ImageView的中心,等比例放大原圖,直到填滿ImageView為止(指的是ImageView的寬和高都要填滿),原圖超過ImageView的部分作裁剪處理。
android:scaleType="centerInside"
以原圖完全顯示為目的,將圖片的內容完整居中顯示,通過按比例縮小原圖的size寬(高)等於或小於ImageView的寬(高)。如果原圖的size本身就小於ImageView的size,則原圖的size不作任何處理,居中顯示在ImageView。
android:scaleType="matrix"
不改變原圖的大小,從ImageView的左上角開始繪制原圖,原圖超過ImageView的部分作裁剪處理。
android:scaleType="fitCenter"
把原圖按比例擴大或縮小到ImageView的ImageView的高度,居中顯示
android:scaleType="fitEnd"
把原圖按比例擴大(縮小)到ImageView的高度,顯示在ImageView的下部分位置
android:scaleType="fitStart"
把原圖按比例擴大(縮小)到ImageView的高度,顯示在ImageView的上部分位置
android:scaleType="fitXY"
把原圖按照指定的大小在View中顯示,拉伸顯示圖片,不保持原比例,填滿ImageView.
㈡ android中imageview里的圖片大小是否可以比imageview本身大,如果可以,如何設置
ImageView可以放大縮小,也可以通過Scaletype這個屬性來指定。
Scaletype的設置的方式包括:
1. 在layout xml中定義android:scaleType="CENTER"
2. 或在代碼中調用imageView.setScaleType(ImageView.ScaleType.CENTER);
Scaletype的取值和區別:
1. SetScaleType(ImageView.ScaleType.CENTER);
按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把圖片按比例擴大/縮小到View的寬度,居中顯示
5. FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣,只是顯示的位置不同,FIT_START是置於頂部,FIT_CENTER居中,FIT_END置於底部。
在此就不給出示例了。
6. FIT_XY
不按比例縮放圖片,目標是把圖片塞滿整個View。
㈢ 圖文講解Android ImageView的ScaleType,幫你徹底搞明白
一般來說,要把一張圖片顯示在ImageView上,有下面幾個問題需要考慮:
在真實的產品環境中,一個ImageView的大小往往都是有限制的,至少長或寬有一條邊是有限制的,所以,在ImageView上顯示圖片還需要考慮:
第二個問題,還可以細化成:
怎麼樣,簡單的一個顯示圖片操作,就有這么多細節需要考慮。下面的章節,我們就抓住上面幾點,通過實際的例子幫你理解ScaleType的各個屬性值。
首先看下實際效果:
一句話總結FIT_XY:就是以不按原比例伸縮為代價,強制讓圖片充滿ImageView ,同時圖片所有的部分也會完整顯示出來(雖然可能變形)。但是,因為其不按原比例伸縮的特點,真實的產品中不太常用,因為圖片被拉伸變形往往是不可以接受的。(上面例子中的美女已經被拉伸的不成樣子了)
還是先看下例子:
這個屬性值的名稱雖然是CENTER,但是和一般意義上的「居中」有很大不同。 這個屬性值即不會保證填滿ImageView,也不保證圖片會完整顯示。 當實際圖片比ImageView小的時候,就是「居中顯示」。當圖片比ImageView大,就把圖片中間的部分顯示在ImageView里,其他的裁剪掉不顯示。(上面第二組圖尤其明顯)
先看例子:
FIT_CENTER更接近於大家理解的「居中顯示」,也是平時用的最多的一個值。 首先,這個屬性會保證圖片完整顯示,不管圖片和ImageView的大小關系。而且伸縮的時候是按照比例做的,所以圖片質量也可以得到保證。 唯一的問題是,FIT_CENTER不保證會填滿ImageView。對於大多數場景,這個也足夠了。
FIT_START,FIT_END和FIT_CENTER差不多,就不詳細介紹了。
先看例子:
CENTER_CROP,是個非常重要的值,但是很多同學對它並不是很了解。首先,這個屬性值的名字很奇怪,很難猜出來其真實的含義;其次,它的官方介紹簡直又臭又長,讓人一頭霧水:
其實,CENTER_CROP的特點總結起來很簡單: 以可能裁切掉部分圖片為代價,讓圖片充滿ImageView。
可以和FIT_XY做下對比, CENTER_CROP和FIT_XY是唯二的可以保證填滿ImageView的值 。所不同的是,FIT_XY是以不保持原始比例伸縮為代價(但是保證原圖全部顯示出來);而CENTER_CROP是以不能顯示完整原圖為代價(但是保證原圖的原始比例)。
二者都會按原始比例伸縮圖片,所不同的是, CENTER_CROP將圖片伸縮到填滿ImageView為止,FIT_CENTER伸縮到圖片完整並居中顯示為止。
下面兩個動圖可以讓你看得更清楚:
先看例子:
CENTER_INSIDE又是一個奇怪的值,原文的解釋也是讓人看不懂:
其實總結起來很簡單: 當原圖大於ImageView的時候,相當於FIT_CENTER。當原圖小於等於ImageView的時候,相當於CENTER。
看下例子
MATRIX的效果比較簡單: 不改變原圖的大小,從ImageView的左上角開始繪制,超出部分做剪切處理。 不保證填滿ImageView,也不保證圖片完全顯示。和CENTER有點類似。反正我在項目中是沒有用過這個值。
下面的表格總結了下各個屬性值的特點,注意,表格中為「是」並不是說一定會發生,只是說明有這種可能。
最後再給大家出一道思考題,看看大家的掌握情況:
相信通過學習本文章,聰明的你很快就能找到答案。
㈣ android 代碼中設置控制項的垂直居中和兩個控制項之間的距離。
首先是垂直居中,下面有朋友已經回答了,而控制項和控制項之間的距離設置是設置margin
㈤ android 系統中如何原比例的顯示圖片
這裡面的參數你都試一下,應該有一個可以。x0dx0aImageView的ScaleType屬性x0dx0aImageView的屬性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)屬性如下:CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截 取圖片的居中部分顯示x0dx0aCENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長 (寬)等於或大於View的長(寬)x0dx0aCENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小 或原來的size使得圖片長/寬等於或小於View的長/寬x0dx0aFIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示x0dx0aFIT_END / fitEnd 把 圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置x0dx0aFIT_START / fitStart 把 圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置x0dx0aFIT_XY / fitXY 把圖片 不按比例 擴大/縮小到View的大小顯示
㈥ android 系統中如何原比例的顯示圖片
這裡面的參數你都試一下,應該有一個可以。
ImageView的ScaleType屬性
ImageView的屬性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)屬性如下:CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截 取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長 (寬)等於或大於View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小 或原來的size使得圖片長/寬等於或小於View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把 圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把 圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片 不按比例 擴大/縮小到View的大小顯示