標籤:
一、知識概要
ImageView繼承自View,能顯示任何Drawable對象;
ImageView支援的常用XML屬性及相關方法:
android:adjustViewBounds 設定ImageView是否調整自己的邊界來保持所顯示圖片的長寬比;
android:cropToPadding 如果該屬性設定為true,該組件將會被剪裁到保留ImageView的padding;
android:maxHeight 設定ImageView的最大高度;
android:maxWidth 設定ImageView的最大寬度;
android:src 設定ImageView所顯示的Drawable對象的ID;
android:scaleType 設定所顯示的圖片如何縮放或移動以適應ImageView的大小,支援的屬性值如下:
.matrix(ImageView.ScaleType.MATRIX) 使用matrix進行縮放;
.fitXY(ImageView.ScaleType.FIT_XY) 對圖片進行橫向、縱向獨立縮放,使得圖片完全適應於該ImageView(圖片的縱橫比可能發生變化);
.fitStart(ImageView.ScaleType.FIT_START) 保持縱橫比縮放圖片,直到圖片能完全顯示在ImageView中(圖片較長的邊長與ImageView相應的變長相等),縮放後的圖片 放在ImagView的左上方;
.fitCenter(ImageView.ScaleType.FIT_CENTER) 保持縱橫比縮放圖片,直到圖片能完全顯示在ImageView中(圖片較長的邊長與ImageView相應的變長相等),縮放後的圖 片放在ImagView的中央;
.fitEnd(ImageView.ScaleType.FIT_END) 保持縱橫比縮放圖片,直到圖片能完全顯示在ImageView中(圖片較長的邊長與ImageView相應的變長相等),縮放後的圖片放在 ImagView的右下角;
.center(ImageView.ScaleType.CENTER) 把圖片放在ImageView中間,但不進行任何縮放;
.centerCrop(ImageView.ScaleType.CENTER_CROP) 保持縱橫比縮放圖片,以使得圖片能完全覆蓋ImageView,只要圖片的最短邊能顯示出來即可;
.centerInside(ImageView.ScaleType.CENTER_INSIDE) 保持縱橫比縮放圖片,以使得ImageView能完全顯示該圖片。
為控制ImageView顯示的圖片,ImageView提供了如下方法:
.setImageBitmap(Bitmap bm) 使用Bitmap位元影像設定該ImageView顯示的圖片;
.setImageDrawable(Drawable drawable) 使用Drawable對象設定該ImageView顯示的圖片;
.setImageResource(int resId) 使用圖片資源id設定該ImageView顯示的圖片;
.setImageURI(Uri uri) 使用圖片的URI設定該ImageView顯示的圖片。
android-ImageView及其子類