美文网首页
ImageView的ScaleType属性到底怎么用?

ImageView的ScaleType属性到底怎么用?

作者: tingtingtina | 来源:发表于2019-06-04 11:38 被阅读0次

    ImageView 是 Android 开发中常用控件之一,在设置中经常需要通过 scaleType来对原始的图像进行处理,使得它能在空间中合理地展示。

    做为一个Android 开发工程师,每次用 scaleType 就像玩福不福似的,用不用的对全凭运气,以后要凭本事了!下面就对 scaleType 的属性值使用进行有图有真相的说明。

    ScaleType 分类 - 从眼熟到认识

    Enum Description
    CENTER 将图片居中,不执行缩放,如果图片小于视图宽高,会有空白区域,如果图片大,只保留中心部分其他会被裁剪
    CENTER_CROP 图片从中心开始等比例缩放,使得图片的宽和高都大于或等于视图的宽高
    CENTER_INSIDE 图片等比例缩放,使得宽度和高度都等于或小于视图的宽高
    FIT_START 图片等比例缩放,将图片放置到视图的左上角,然后进行向外按比例放大或者缩小,直到一个方向已到视图边界
    FIT_CENTER 图片等比例缩放,将图片放置到视图中心,进行向外按比例放大或者缩小,直到一个方向已到视图边界
    FIT_END 图片等比例缩放,将图片放置到视图的右下角,然后进行向外按比例放大或者缩小,直到一个方向已到视图边界
    FIT_XY 独立缩放宽和高,使其与视图宽高一致,可能会改变图片宽高比
    MATRIX 绘制时,使用图像矩阵进行缩放

    实战 - 从认识到熟识

    ImageView比实际尺寸小时 ​ ImageView比实际尺寸大时

    以上对常用的 scaleType 的属性值做了一个简短的记录,也是便于以后能更准确的使用属性。

    官方文档在centerCropcenterInside都有描述(minus padding),在实际使用过程中,除了centerpadding是无效的,其他都是有效的。若同时使用centerpadding属性,那么在加上下面属性即可。

    android:cropToPadding="true"
    

    图一加上 android:padding="20dp"

    添加 padding 属性
    对于 center 无效,添加 android:cropToPadding 属性后

    还有一种属性值 Matrix 没有说明,后续总结。

    相关文章

      网友评论

          本文标题:ImageView的ScaleType属性到底怎么用?

          本文链接:https://www.haomeiwen.com/subject/cuhdtctx.html