[译]Android ImageView ScaleType:图解

如果你跟我一样追求美观界面,同时又非常健忘。当谈到ImageView缩放图片时,偏偏就把各种ScaleType的展示效果给忘了。所以你花了10~15分钟把每种效果都编译运行一遍看每种效果的异同。不久之后,这个循环又将发生一遍。

下面展示不同ScaleType的效果。接着是官方文档的解释,最后是一点有用的提醒。

《[译]Android ImageView ScaleType:图解》 scaletype.png

Scale Types
完整的官方解释Android documentation.

CENTER

放中间,不拉伸。

CENTER_CROP

均匀拉伸(保持宽高比),宽高>=ImageView的宽高

CENTER_INSIDE

均匀拉伸(保持宽高比),宽高<=ImageView的宽高

FIT_CENTER

Matrix.ScaleToFit.CENTER来拉伸图片。
Matrix.ScaleToFit.CENTER:等比缩放,确保原图会整个放在View内,宽高至少有一个适配容器宽高,居中显示。

FIT_END

Matrix.ScaleToFit.END来拉伸图片。
Matrix.ScaleToFit.END:同上,底部显示。

FIT_START

Matrix.ScaleToFit.START来拉伸图片。
Matrix.ScaleToFit.START:同上,头部显示。

FIT_XY

Matrix.ScaleToFit.FILL来拉伸图片。
Matrix.ScaleToFit.FILL:原图完全填充容器,可能会改变宽高比。

MATRIX

Matrix旋转图片

调整边界

ImageView.ScaleType并不是万金油。如果你注意到赋值了CENTER_INSIDE, FIT_CENTER, FIT_ENDFIT_STARTImageView的实际边界往往都比缩放后的图片要大。如果要设置ImageView的宽高于缩放后的图片一致,在xml中添加

android:adjustViewBounds="true”

结果

《[译]Android ImageView ScaleType:图解》 adjustviewbounds

    原文作者:豆沙包67
    原文地址: https://www.jianshu.com/p/7401aa75f6f3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞