ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。

设置的方式包括:

1. 在layout xml中定义android:scaleType=”CENTER”

2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。

matrix 用矩阵来绘制(从左上角起始的矩阵区域)

fitXY  把图片不按比例扩大/缩小到View的大小显示(确保图片会完整显示,并充满View)

fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置(图片会完整显示)

fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示(图片会完整显示)

fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置(图片会完整显示)

center  按图片的原来size居中显示,当图片宽超过View的宽,则截取图片的居中部分显示,当图片宽小于View的宽,则图片居中显示
centerCrop  按比例扩大/缩小图片的size居中显示,使得图片的高等于View的高,使得图片宽等于或大于View的宽
centerInside  将图片的内容完整居中显示,使得图片按比例缩小或原来的大小(图片比View小时)使得图片宽等于或小于View的宽 (图片会完整显示)

列表item显示小图建议使用 centerCrop

页面中的大图建议使用fitXY,服务器返回的图片尽量按显示比例裁剪好。

或者fitCenter配合adjustviewbounds=”true”,maxWidth, maxHeight设为期望的最大尺寸,视图会根据显示图片自动调整视图组件的高度。周边也不会留有空的。

效果图1:

图片比ImageView大的截图


效果图2:

图片比ImageView小的截图


版权声明:本文为roccheung原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/roccheung/p/5797467.html