ImageView

ImageView 為基本的圖片物件。

  • java.lang.Object
    • android.view.View
      • android.widget.ImageView
Attribute NameRelated MethodDescription
android:adjustViewBoundssetAdjustViewBounds(boolean)在調整 ImageView大小 時,可以保持長寬比
android:baselinesetBaseline(int)
android:baselineAlignBottomsetBaselineAlignBottom(boolean)
android:cropToPaddingsetCropToPadding(boolean)
android:maxHeightsetMaxHeight(int)
android:maxWidthsetMaxWidth(int)
android:scaleTypesetScaleType(ImageView.ScaleType)調整圖片縮放的方式
android:srcsetImageResource(int)
android:tintsetColorFilter(int,PorterDuff.Mode)

圖片在放大縮小時,可以使用此屬性決定它的方式和位置。必須是下列其中一個值。

ConstantValueDescription
matrix1用 matrix 來繪製
fitXY2圖片按照指定的大小在 View 中顯示,拉伸顯示圖片,不保持原比例填滿 View
fitStart3圖片按比例擴大/縮小到 View 的寬度,顯示在 View 的上部分位置
fitCenter4圖片按比例擴大/縮小到 View 的寬度,居中顯示
fitEnd5圖片按比例擴大/縮小到 View 的寬度,顯示在 View 的下部分位置
center6按圖片的原來大小居中顯示,當圖片長/寬超過 View 的長/寬,則截取圖片的居中部分顯示
centerCrop7按比例擴大圖片的 size 居中顯示,使得圖片長/寬等於或大於 View 的長/寬
centerInside8將圖片的內容完整居中顯示,通過按比例縮小或原來的 size 使得圖片長/寬等於或小於 View 的長/寬

通常 ImageView 的第三方函式庫都是在手勢或載入上做文章。

LibraryDescriptionLinks
Android Query
Android Smart Image View
Android Universal Image Loader
PhotoView雙指放大縮小、雙擊放小縮小。原始碼有內帶一個搭配 pager 的範例Sample
GestureImageView提供多種手勢,如雙指放大縮小、雙擊放大縮小等。原始碼內帶範例。它的問題點在:當使用 setBitmap() 時,在放大縮小時會有跳動的情況發生,但使用 xml 定義的圖檔就不會有問題….