Android精讲--界面编程4(ImageView及其子类)
ImageView及其子类
ImageView继承自View组件,它的主要功能是用于显示图片一实际上这个说法不太严谨。因为它能显示的不仅仅是图片,任何Drawable对象都可使用ImageView来显示。
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显示的阁片。