ImageView是Android开发当中运用到最多的控件之一,下面就来详细聊聊这个控件。
ImageView简介
ImageView继承自View组件,主要功能是用于显示图片,可以显示任意图像。
ImageView的XML属性详解
1.设置ImageView是否调整自己的边界来保持所显示图片的长宽比例:
android:adjustViewBounds=""
2.设置ImageView的最大高度,可选:
android:maxHeight=""
3.设置ImageView的最大宽度,可选:
android:maxWidth = ""
4.设置所显示的图片如何缩放或移动以适应ImageView的大小:
android:scaleType = ""
5.设置ImageView所显示的Drawable对象的ID:
android:src = ""
6.设置ImageView的透明度:
android:alpha = ""
ImageView在代码属性设置方法详解
1.设置ImageView的透明度:
setAlpha(int alpha)
2.设置ImageView所显示的内容为指定的Bitmap对象:
setImageBitmap(Bitmap bm)
3.设置ImageView所显示的内容为指定的Drawable对象:
setImageDrawable(Drawable drawable)
4.设置ImageView所显示的内容为指定id的资源:
setImageResource(int resId)
5.设置ImageView所显示的内容为指定Uri:
setImageURI(Uri uri)
6.设置ImageView的选中状态:
setSelected(boolean selected)
详解ImageView的scaleType属性
- matrix:使用matrix方式进行缩放。fitXY:横向、纵向独立缩放,以适应该ImageView。
- fitStart:保持纵横比缩放图片,并且将图片放在ImageView的左上角。
- fitCenter:保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央。
- fitEnd:保持纵横比缩放图片,缩放完成后将图片放在ImageView的右下角。
- center:把图片放在ImageView的中央,但是不进行任何缩放。
- centerCrop:保持纵横比缩放图片,以使图片能完全覆盖ImageView。
- centerInside:保持纵横比缩放图片,以使得ImageView能完全显示该图片。
ImageView的src属性与background属性的区别
① background通常指的都是背景,而src指的是内容;
② 当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸。
图片加载方法
在项目中,加载图片时,都会用到 ImageView,对应的几种设置图片的方式有如下几种:
在布局文件中设置属性 android:src=“@drawable/resId” 加载本地图片
setImageResource(int resId); 加载drawable文件夹中的资源文件
setImageURI(Uri); 加载手机内存卡中的图片格式文件
setImageBitmap(Bitmap); 加载 Bitmap
setImageDrawable(Drawable); 加载 Drawable
通过上述流程图,可以得知:
所有的图片格式,不管是资源,还是 Uri 还是 Bitmap ,都会转化为 Drawable;
setImageURI(Uri) 方法,涉及到将文件转化为文件流,然后将文件流解析为 Bitmap 操作,需要注意的是在主线程中做这些操作,可能会造成延时;
针对性能方面,给上述加载图片方法排序,从劣到优,可以这样来:setImageURI() < setImageBitmap() < setImageRecource() < 属性设置 < setImageDrawable() ,能肯定的是,setImageDrawable() 是最优设置方法。
主要方法:updateDrawable(Drawable)
主要是根据 ImageView 设置的图片缩放类型确定其内容(即图片)绘制的边界,所以在这之前,需要知道关于 scaleType 缩放类型的一些事。
以上就是android中图片展示的ImageView基本使用方法