Android学习笔记:如何设置ImageView中图片的显示方式
我们在用ImageView表明照片时,许多状况下照片的尺寸与ImageView的规格并不是彻底一样的。这时候就牵涉到该怎么设置表明照片了。
ImageView有一个关键的特性是ScaleType,该特性用于表明表明照片的方法,现有很多种多样赋值。此外还可以在xml文件中设定ImageView的android:scaleType特性做到调节实际效果。
这儿大家详细介绍各种各样设定的含意:
1、ScaleType.CENTER(相匹配xml文件中为android:scaleType=”center”)
照片将坐落于View的正中间表明,但不开展放缩,假如图片尺寸超过ImageView控制,则提取照片正中间一部分;若低于,则立即将图片居中表明。
2、ScaleType.FIT_CENTER(相匹配xml文件中为android:scaleType=”fitCenter”)
ImageView的默认设置情况,大图图片等占比变小,使整副图可以垂直居中表明在ImageView中;小图片等占比变大,一样要总体垂直居中表明在ImageView中。
3、ScaleType.CENTER_CROP(相匹配xml文件中为android:scaleType=”centerCrop”)
让图象的长边与ImageView相匹配的边长短保持一致(可能是变大或变小),随后依照长边变大或变小的占比对图象的此外一边开展同占比变大或变小。
留意:这不象FIT_CENTER会等比放缩。会造成图片缩放后长、宽占比与原先的不一致。
最终提取放缩后照片的正中间一部分表明。
这在有一些情景下還是有效的,例如必须照片填满全部ImageView,但对放缩后失帧或提取一部分照片能够承受。
4、ScaleType.FIT_XY(相匹配xml文件中为android:scaleType=”fitXY”)
将照片非等占比缩放进尺寸与ImageView同样。对比CENTER_CROP,那样既能确保照片填满全部ImageView. 又能确保长度宽的放缩互相不危害。
尽管也很有可能会造成占比放缩不一致,但最终不容易造成图象被裁掉。
5、ScaleType.CENTER_INSIDE(相匹配xml文件中为android:scaleType=”centerInside”)
将图片尺寸超过ImageView的照片开展等占比变小,直至整副图可以垂直居中表明在ImageView中;低于ImageView的照片不会改变,立即垂直居中表明,不变大。
针对规格超过ImageView的照片,实际效果等同于FIT_CENTER,全是等比变小。
6、也有其他几类状况,不太常见,这儿简易说下
ScaleType.FIT_END:放缩方法同FIT_CENTER,仅仅将照片表明在右侧或下边,而不是垂直居中。
ScaleType.FIT_START:放缩方法同FIT_CENTER,仅仅将照片表明在左侧或上边,而不是垂直居中。
ScaleType.MATRIX:是依据一个3×3的引流矩阵对在其中照片开展放缩