Android ImageView scaleType详解

Android ImageView scaleType详解scaleType属性: 你想让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。Android 提供了八种scaleType的属性值,每种都对应了一种展示方式.

大家好,欢迎来到IT知识分享网。

scaleType属性: 你想让ImageView如何显示图片,包括是否进行缩放、等比缩放、缩放后展示位置等。

Android 提供了八种scaleType的属性值,每种都对应了一种展示方式.

八个ScaleType,其实可以分为三个类型:

  1. 以fit开头的4种(fitStart,fitCenter,fitEnd,fitXY)都会对图片进行缩放.
  2. 以center开头的3种(center,centerInside,centerCrop)都居中显示,图片的中心点会与ImageView的中心点重叠.
  3. ScaleType.MATRIX,前面的7种模式都是通过ImageView在内部生成了相应的变换矩阵,等于是提供了该模式的一种特定值,使用这个模式只要传入相应矩阵,也能实现上述七种显示效果。

Android ImageView scaleType详解

上图中心是原图片大小。

Android ImageView scaleType详解

我们给imageview设置大小,背景设置成黑色,这是没设置scaleType属性时的样子。

fitStart

Android ImageView scaleType详解

fitStart上边

Android ImageView scaleType详解

fitStart左边

fitStart:图片等比缩放到控件大小,并放置在控件的上边或左边展示。如图所示,此模式下会在ImageView的下半部分留白,如果图片高度大于宽,那么就会在ImageView的右半部份留白。

fitEnd

Android ImageView scaleType详解

fitEnd下边

Android ImageView scaleType详解

fitEnd右边

fitEnd:图片等比缩放到控件大小,并放置在控件的下边或右边展示。如图所示,此模式下会在ImageView的上半部分留白,如果图片高度大于宽,那么就会在ImageView的左半部分留白

fitCenter

Android ImageView scaleType详解

Android ImageView scaleType详解

fitCenter:不使用缩放,展示图片的中心部分,即图片的中心点和ImageView的中心点重叠。如果图片的大小小于控件的宽高,那么图片会被居中显示。

fitXY

Android ImageView scaleType详解

Android ImageView scaleType详解

fitXY:图片缩放到控件大小,完全填充控件大小展示。注意,此模式不是等比缩放

center

Android ImageView scaleType详解

Android ImageView scaleType详解

center:不使用缩放,图片的中心点和ImageVIew的中心点重叠,如果图片的大小小于控件的宽高,那么图片会被居中显示

centerInside

Android ImageView scaleType详解

Android ImageView scaleType详解

centerInside:使用此模式以完全展示图片的内容为目的。图片将被等比缩放到能够完整展示在ImageView中并居中,如果图片大小小于控件大小,那么就直接居中展示该图片

centerCrop

Android ImageView scaleType详解

Android ImageView scaleType详解

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

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信