使用ImageView应该注意的地方
ImageView的ScaleType属性
ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)
属性如下:
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截 取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小 或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把 图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把 图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY / fitXY 把图片 不按比例 扩大/缩小到View的大小显示
MATRIX / matrix 用矩阵来绘制
ImageView.ScaleType设置图解
android:adjustViewBounds
是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
android:cropToPadding
是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用。
android:src对应的方法为setImageResource(R.drawable.xxx),而不是setBackgroundResource(R.drawable.txxx)
关于ImageView和level-list一起使用以显示不同的图片
有时候,我们为了在一个ImageView中显示不同的图片,往往会使用:
然后在layout中把ImageView的src设置成已创建好的xml文件。
程序中变换图片时,只需要使用:
@android:id/empty 将ImageView的BackGroundResource 的id 设置为空就ok了。