ImageView ScaleType 解析

ImageView ScaleType 解析publicstaticenumScaleType{MATRIX,FIT_XY,FIT_START,FIT_CENTER,FIT_END,CENTER,CENTER_CROP,CENTER_INSIDE;private…

大家好,又见面了,我是你们的朋友全栈君。

    public static enum ScaleType {
        MATRIX,
        FIT_XY,
        FIT_START,
        FIT_CENTER,
        FIT_END,
        CENTER,
        CENTER_CROP,
        CENTER_INSIDE;

        private ScaleType() {
        }
    }

由代码中可以看出ScaleType有八种属性。我们先上对比图,再分析各个属性的不同。

ImageView ScaleType 解析


  • matrix:不改变原图的大小,从ImageView的左上角开始绘图,原图超过ImageView大小的部分不做显示,裁剪掉。
    
  • fitXY:按照ImageView的大小显示,拉伸图片,填满ImageView。
  • fitCenter:将原图按比例缩放到ImageView的高度或者宽度,居中显示。
  • fitEnd:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的底部显示
  • fitStart:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的上部显示
  • center:不改变原图的大小,在原图的中心部分显示在ImageView的中心,当原图超过ImageView不做显示,裁剪掉。 
  • centerCrop:以原图填满ImageView为目的,如果原图size大于ImageView的size,则与center_inside一样,按比例缩小,居中显示在ImageView上。如果原图size小于ImageView的size,则按比例拉升原图的宽和高,填充ImageView居中显示。
    
  • centerInside:以原图正常显示为目的,如果原图大小大于ImageView的size,就按照比例缩小原图的宽高,居中显示在ImageView中。如果原图size小于ImageView的size,则不做处理居中显示图片。

从上面的解析中,我们可以看出:

  1. FIT_开头的4种,它们的共同点是都会对图片进行缩放;
  2. CENTER_开头的3种,它们的共同点是居中显示,图片的中心点会与ImageView的中心点重叠;
  3. ScaleType.MATRIX,单独一种。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151804.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号