ImageView及其子类
ImageView及其子类的类关系图ImageView继承自View组件,它的主要功能是用于显示图片一实际上这个说法不太严谨。因为它能显示的不仅仅是图片,任何Drawable对象都可使用ImageView来显示。
# ImageView支持的XML属性及相关方法的说明
XML属性 | 相关方法 | 说明 |
---|---|---|
android:adjustViewBounds | setAdjustViewBounds(booleans) | 设置ImageView是否调整自己的边界来保持所显示图片的长宽比 |
android:cropToPadding | setCropToPadding(boolean) | 如果将该属性设为true,该组件将会被裁剪到保留该ImageView的padding |
android:maxHeight | setMaxHeight(int) | 设置ImageView的最大高度 |
android:maxWidth | setMaxWidth(int) | 设置ImageView的最大宽度 |
android:scaleType | setScaleType(ImageView.ScaleType) | 设置所显示的图片如何缩放或移动以适应ImageView的大小 |
android:src | setImageResource(int) | 设置ImageView所显示的Drawable对象的ID |
android:scaleType属性可指定如下属性值:
-
matrix(ImageView.ScaleType.MATRIX)
: 使用matrix方式进行缩放。 -
fitXY(lmageView.ScaleType.FIT_XY)
: 对图片横向、纵向独立缩放,使得该图片完全适应于该ImageView,图片的纵横比可能会改变。 -
fitStart(lmageView.ScaleType.FIT_START)
: 保持纵横比缩放图片,直到该图片能完全显示在ImageView中(图片较长的边长与ImageView相应的边长相等),缩放完成后将该图片放在ImageView的左上角。 -
fitCenter(lmageView.ScaleType.FIT_CENTER)
: 保持纵横比缩放图片,直到该图片能完全显示在ImageView中(图片较长的边长与ImageView相应的边长相等),缩放完成后将该图片放在ImageView的中央。 -
fitEnd(lmageView.ScaleType.FIT_END)
: 保持纵横比缩放阁片,直到该图片能完全显示在丨mageView中(图片较长的边长与ImageView相应的边长相等),缩放完成后将该图片放在ImageView的右下角。 -
center(ImageView.ScaleType.CENTER)
: 把图片放在ImageView的中间,但不进行任何缩放。 -
centerCrop(lmageView.ScaleType.CENTER_CROP)
:保持纵横比缩放图片,以使得图片能完全覆盖ImageView。只要图片的最短边能显示出来即可。 -
centerlnside(ImageView.ScaleType.CENTERJNSIDE)
:保持纵横比缩放图片,以使得ImageView能完全显示该图片。
为了控制ImageView显示的图片,ImageView提供了如下方法:
-
setlmageBitmap(Bitmap bm)
: 使用Bitmap位图设置该ImageView显示的图片。 -
setlmageDrawable(Drawable drawable)
: 使用Drawable对象设置该ImageView显示的图片。 -
setlmageResource(int resld)
: 使用图片资源ID设置该ImageView显示的图片。 -
setlmageURI(Uri uri)
: 使用图片的URI设置该ImageView显示的阁片。
网友评论