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显示的阁片。
posted @ 2018-08-03 16:09  vvning  阅读(359)  评论(0编辑  收藏  举报