ImageView 為基本的圖片物件。
Extends Structure
- java.lang.Object
- android.view.View
- android.widget.ImageView
- android.view.View
XML Attributes
| Attribute Name | Related Method | Description |
|---|---|---|
| android:adjustViewBounds | setAdjustViewBounds(boolean) | 在調整 ImageView大小 時,可以保持長寬比 |
| android:baseline | setBaseline(int) | |
| android:baselineAlignBottom | setBaselineAlignBottom(boolean) | |
| android:cropToPadding | setCropToPadding(boolean) | |
| android:maxHeight | setMaxHeight(int) | |
| android:maxWidth | setMaxWidth(int) | |
| android:scaleType | setScaleType(ImageView.ScaleType) | 調整圖片縮放的方式 |
| android:src | setImageResource(int) | |
| android:tint | setColorFilter(int,PorterDuff.Mode) |
android:scaleType
圖片在放大縮小時,可以使用此屬性決定它的方式和位置。必須是下列其中一個值。
| Constant | Value | Description |
|---|---|---|
| matrix | 1 | 用 matrix 來繪製 |
| fitXY | 2 | 圖片按照指定的大小在 View 中顯示,拉伸顯示圖片,不保持原比例填滿 View |
| fitStart | 3 | 圖片按比例擴大/縮小到 View 的寬度,顯示在 View 的上部分位置 |
| fitCenter | 4 | 圖片按比例擴大/縮小到 View 的寬度,居中顯示 |
| fitEnd | 5 | 圖片按比例擴大/縮小到 View 的寬度,顯示在 View 的下部分位置 |
| center | 6 | 按圖片的原來大小居中顯示,當圖片長/寬超過 View 的長/寬,則截取圖片的居中部分顯示 |
| centerCrop | 7 | 按比例擴大圖片的 size 居中顯示,使得圖片長/寬等於或大於 View 的長/寬 |
| centerInside | 8 | 將圖片的內容完整居中顯示,通過按比例縮小或原來的 size 使得圖片長/寬等於或小於 View 的長/寬 |
Third-Party Library
通常 ImageView 的第三方函式庫都是在手勢或載入上做文章。
| Library | Description | Links |
|---|---|---|
| Android Query | ||
| Android Smart Image View | ||
| Android Universal Image Loader | ||
| PhotoView | 雙指放大縮小、雙擊放小縮小。原始碼有內帶一個搭配 pager 的範例 | Sample |
| GestureImageView | 提供多種手勢,如雙指放大縮小、雙擊放大縮小等。原始碼內帶範例。它的問題點在:當使用 setBitmap() 時,在放大縮小時會有跳動的情況發生,但使用 xml 定義的圖檔就不會有問題…. |