大家好,欢迎来到IT知识分享网。
scaleType属性: 你想让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。
Android 提供了八种scaleType的属性值,每种都对应了一种展示方式.
八个ScaleType,其实可以分为三个类型:
- 以fit开头的4种(fitStart,fitCenter,fitEnd,fitXY)都会对图片进行缩放.
- 以center开头的3种(center,centerInside,centerCrop)都居中显示,图片的中心点会与ImageView的中心点重叠.
- ScaleType.MATRIX,前面的7种模式都是通过ImageView在内部生成了相应的变换矩阵,等于是提供了该模式的一种特定值,使用这个模式只要传入相应矩阵,也能实现上述七种显示效果。
上图中心是原图片大小。
我们给imageview设置大小,背景设置成黑色,这是没设置scaleType属性时的样子。
fitStart
fitStart:图片等比缩放到控件大小,并放置在控件的上边或左边展示。如图所示,此模式下会在ImageView的下半部分留白,如果图片高度大于宽,那么就会在ImageView的右半部份留白。
fitEnd
fitEnd:图片等比缩放到控件大小,并放置在控件的下边或右边展示。如图所示,此模式下会在ImageView的上半部分留白,如果图片高度大于宽,那么就会在ImageView的左半部分留白
fitCenter
fitCenter:不使用缩放,展示图片的中心部分,即图片的中心点和ImageView的中心点重叠。如果图片的大小小于控件的宽高,那么图片会被居中显示。
fitXY
fitXY:图片缩放到控件大小,完全填充控件大小展示。注意,此模式不是等比缩放。
center
center:不使用缩放,图片的中心点和ImageVIew的中心点重叠,如果图片的大小小于控件的宽高,那么图片会被居中显示
centerInside
centerInside:使用此模式以完全展示图片的内容为目的。图片将被等比缩放到能够完整展示在ImageView中并居中,如果图片大小小于控件大小,那么就直接居中展示该图片
centerCrop
centerCrop:图片会被等比缩放直到完全填充整个ImageVIew,并居中显示。
ScaleType.MATRIX
imageView.setScaleType(ImageView.ScaleType.MATRIX); //设置为矩阵模式 Matrix matrix = new Matrix(); //创建一个单位矩阵 matrix.setTranslate(200, 200); //平移x和y各200px matrix.preRotate(30); //旋转45度 imageView.setImageMatrix(matrix); //设置并应用矩阵
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87258.html