Android中UI控件的詳細介紹(六)——ImageView

一、ImageView的類的機構
java.lang.Object
↘android.view.View
↘android.widget.ImageView

二、ImageView的常用屬性
1、android:src 設置圖片的來源。一般使用png或者jpg格式的圖片,圖片的名字可以使用的字符有【a-z0-9】,不能有大寫字母,不能數字開頭。
代碼中對應的方法爲:setImageResoutce(R.drawable.xxx)。
2、android:adjustViewBounds 用於設置ImageView是否調整自己的邊界,來保持所顯示圖片的長度比例(不會截斷圖片)。默認爲false。
3、android:maxHeight 設置ImageView的最大高度。需要先設置android:adjustViewBounds爲true,否則不起作用。
4、android:maxWidth 設置ImageView的最大寬度。需要先設置android:adjustViewBounds爲true,否則不起作用。
5、android:background 設置背景,src上的圖片會覆蓋在background的上方。
在代碼中對於的方法爲:setBackgroundResoutce(R.drawable.xxx);設置裏面顯示的圖片。
6、android:scaleType 縮放類型, 設置所顯示的圖片如何縮放或移動,以適應ImageView的大小。可選項:fitCenter(默認值)、fitStart、fitEnd、fitXY、center、cengerCrop(居中裁剪)、centerInside、matrix。注意: 要把layout_height與layout_width設置爲 match_parent 或者 固定值 時android:scaleType屬性纔有效。
各屬性的效果:

  • 原圖
    這裏寫圖片描述

  • matrix(原尺寸截取多餘部分):保持原圖大小,從ImageView的左上角開始,以矩陣形式繪圖,超出部分會被截取掉。
    這裏寫圖片描述

  • fitXY(伸縮填滿):把圖片按照指定的大小在View中顯示,拉伸(壓縮)顯示圖片,不按照原來比例,填滿View,如果未指定長寬,則受限於手機屏幕。
    這裏寫圖片描述

  • fitStart:把圖片按比例擴大(縮小)到View的寬度(或高度),不截取,顯示在View 的上部分位置。
    這裏寫圖片描述

  • fitCenter(默認值):把圖片按比例擴大(縮小)到View的寬度(或高度),不截取,居中顯示。
    這裏寫圖片描述

  • fitEnd:把圖片按比例擴大(縮小)到View的寬度(或高度),不截取,顯示在View的下部分位置。
    這裏寫圖片描述

  • center(原尺寸居中,多餘的截取):以原圖的幾何中心點和ImageView的幾何中心點爲基準,按圖片原來的size居中,不縮放,當圖片的寬/高超過View的寬/高,則截取圖片的居中部分顯示,當圖片小於View的寬/高時,只顯示原圖片的尺寸,不拉伸。
    這裏寫圖片描述

  • centerInside(大圖按比例縮小後完整居中,小圖大小不變):以原圖的幾何中心店和ImageView 的幾何中心點爲基準,將圖片的內容完整居中顯示,如果原圖較大,通過按比例縮小原來的size使得圖片長/寬等於或小於ImageView的長/寬;原圖較小的時候則不放大(fitCenter會放大);
    這裏寫圖片描述

  • centerCrop(按比例伸縮,多餘截取並使圖填滿ImageView):以原圖的幾何中心點和ImageView的幾何大於View的長/寬,並按View的大小截取圖片。當原圖的Size大於ImageView時,按比例縮小圖片,使得長寬中有一向等於ImageView,另一向大於ImageView。實際上,使得原圖的Size大於等於ImageView。簡言之,均衡的縮放圖像(保持圖片原始比例),使圖片的兩個座標(寬、高)都大於等於相應的視圖座標,使圖像位於視圖的中央。
    這裏寫圖片描述

三、ImageView常用方法:
1、setImageBitmap(Bitmap);用輸入流或字節數組把圖片設置到ImageView中去,可以利用BitmapFactory.decodeStream(),BitmapFactory.decodeByteArray()等方法返回Bitmap。

2、setImageDrawable(getResources().getDrawable(R.drawable.xxx))//設置圖片源
3、setImageResource(R.drawaable.xxx)
4、setBackgroundResource(R.drawable.xxx) 設置背景
5、setScaleType(ScaleType.FIT_XY) 設置縮放模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章