ImageView的屬性android:scaleType的作用分析
在網(wǎng)上查了好多資料,大致都雷同,大家都是互相抄襲的,看著很費(fèi)勁,不好理解,自己總結(jié)一下,留著需要看的話來查找。
代碼中的例子如下:
<ImageView
android:id="@+id/iv_bit_1"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/iv_bit_2"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/iv_bit_3"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/iv_bit_4"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/iv_bit_5"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/iv_bit_6"
android:layout_width="@dimen/passcode_width"
android:layout_height="@dimen/passcode_height"
android:scaleType="fitXY" />
通過API的查詢得知,
ImageView.ScaleType的結(jié)構(gòu)為:
繼承關(guān)系
public static final enum ImageView.ScaleType extends Enum<E extends Enum<E>>
java.lang.Object
java.lang.Enum<E extends java.lang.Enum<E>>
android.widget.ImageView.ScaleType
類概述
將圖片邊界縮放,以適應(yīng)視圖邊界時(shí)的可選項(xiàng)。
常量
public static final ImageView.ScaleType CENTER
在視圖中使圖像居中,不執(zhí)行縮放。 在 XML 中可以使用的語法: android:scaleType="center"。
public static final ImageView.ScaleType CENTER_CROP
均衡的縮放圖像(保持圖像原始比例),使圖片的兩個(gè)坐標(biāo)(寬、高)都大于等于 相應(yīng)的視圖坐標(biāo)(負(fù)的內(nèi)邊距)。圖像則位于視圖的中央。 在 XML 中可以使用的語法:android:scaleType="centerCrop"。
public static final ImageView.ScaleType CENTER_INSIDE
均衡的縮放圖像(保持圖像原始比例),使圖片的兩個(gè)坐標(biāo)(寬、高)都小于等于 相應(yīng)的視圖坐標(biāo)(負(fù)的內(nèi)邊距)。圖像則位于視圖的中央。 在 XML 中可以使用的語法:android:scaleType="centerInside"。
public static final ImageView.ScaleType FIT_CENTER
使用 CENTER 方式縮放圖像。 在 XML 中可以使用的語法: android:scaleType="fitCenter"。
public static final ImageView.ScaleType FIT_END
使用 END 方式縮放圖像。 在 XML 中可以使用的語法: android:scaleType="fitEnd"。
public static final ImageView.ScaleType FIT_START
使用 START 方式縮放圖像。 在 XML 中可以使用的語法:android:scaleType="fitStart"。
public static final ImageView.ScaleType FIT_XY
使用 FILL 方式縮放圖像。 在 XML 中可以使用的語法: android:scaleType="fitXY"。
public static final ImageView.ScaleType MATRIX
繪制時(shí),使用圖像矩陣方式縮放。圖像矩陣可以通過 setImageMatrix(Matrix) 設(shè)置。在 XML 中可以使用的語法: android:scaleType="matrix"。
用代碼展示著幾個(gè)屬性的效果,效果截圖:
主界面:
![clip_image001[4] clip_image001[4]](http://img.jbzj.com/file_images/article/201306/2013061417023912.jpg)
CENTER效果:
![clip_image002[4] clip_image002[4]](http://img.jbzj.com/file_images/article/201306/2013061417023913.jpg)
CENTER_CROP效果:
![clip_image003[4] clip_image003[4]](http://img.jbzj.com/file_images/article/201306/2013061417023914.jpg)
CENTER_INSIDE效果:
![clip_image004[4] clip_image004[4]](http://img.jbzj.com/file_images/article/201306/2013061417023915.jpg)
FIT_CENTER效果:
![clip_image005[4] clip_image005[4]](http://img.jbzj.com/file_images/article/201306/2013061417023916.jpg)
FIT_START效果:
![clip_image006[4] clip_image006[4]](http://img.jbzj.com/file_images/article/201306/2013061417023917.jpg)
FIT_END效果:
![clip_image007[4] clip_image007[4]](http://img.jbzj.com/file_images/article/201306/2013061417023918.jpg)
FIT_XY效果:
![clip_image008[4] clip_image008[4]](http://img.jbzj.com/file_images/article/201306/2013061417023919.jpg)
MATRIX效果:
![clip_image009[4] clip_image009[4]](http://img.jbzj.com/file_images/article/201306/2013061417023920.jpg)
結(jié)果分析:
我選取的原始圖片明顯標(biāo)志如下:左上角有蝴蝶、花朵,右下角為一個(gè)蝗蟲,且圖片像素大于 320×480,各種類型的差異通過查看圖片的明顯標(biāo)志即可窺見一斑。比如FIT_START,填充于屏幕上方,并等比例縮放;相反,F(xiàn)IT_END置于屏幕下方,而FIT_CENTER則在中間。CENTER_CROP裁剪了圖片的中間部分填充屏幕。其它類型可自行查看分析。
相關(guān)文章
零基礎(chǔ)學(xué)習(xí)教程之Linux下搭建android開發(fā)環(huán)境
這篇文章主要介紹了Linux下搭建android開發(fā)環(huán)境,特別適合零基礎(chǔ)的同學(xué)學(xué)習(xí),想要在Linux及ubuntu11.10下配置android4.0.3開發(fā)環(huán)境的朋友可以參考一下2015-12-12
Android判斷NavigationBar是否顯示的方法(獲取屏幕真實(shí)的高度)
有些時(shí)候,我們需要知道當(dāng)前手機(jī)上是否顯示了NavigationBar,也就是屏幕底部的虛擬按鍵。這篇文章主要介紹了Android判斷NavigationBar是否顯示的方法(獲取屏幕真實(shí)的高度),需要的朋友可以參考下本文2017-01-01
Android開發(fā)雙向滑動(dòng)選擇器范圍SeekBar實(shí)現(xiàn)
這篇文章主要為大家介紹了Android開發(fā)雙向滑動(dòng)范圍選擇器SeekBar實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android中Handler與Message的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android中Handler與Message的簡(jiǎn)單實(shí)例的相關(guān)資料,這里提供實(shí)例來說明線程Handler與message 的結(jié)合使用,需要的朋友可以參考下2017-08-08
安裝時(shí)加入外部數(shù)據(jù)庫(kù)示例(android外部數(shù)據(jù)庫(kù))
這篇文章主要介紹了android打包安裝時(shí)加入外部數(shù)據(jù)庫(kù)的示例,需要的朋友可以參考下2014-03-03
Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法
這篇文章主要介紹了Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法,實(shí)例分析了Android中使用libgdx框架實(shí)現(xiàn)響應(yīng)方向鍵的技巧,適用于Android游戲開發(fā)領(lǐng)域,需要的朋友可以參考下2015-12-12
Android 退出多Activity的application的方式方法
在開發(fā)過程中,我們常常需要一個(gè)退出功能,來退出該應(yīng)用的所有Activity,本篇文章主要介紹了Android 退出多Activity的application的方式,有興趣的可以了解一下。2017-02-02

