ImageView图片宽度为控件宽度,高度按比例缩放

来源:互联网 发布:医药冷链物流数据 编辑:程序博客网 时间:2024/06/11 13:59

转载请注明出处 http://blog.csdn.net/u012036813/article/details/40540573


写在前面:本篇文章使用了异步图片加载库Android-Universal-Image-Loader,如果你的项目不使用此库,本文提供的方法就不能解决你的问题了。


需求说明:显示多张图片,每张图片大小不定,要求图片显示宽度为ImageView的宽度,高度按比例缩放,能完全显示整张图片。

关于图片缩放,网上搜索了很多资料,有设置ImageView属性android:adjustViewBounds和android:scaleType,要么截取图片放大后的一部分显示,要么就是原图缩小显示,达不到要求的效果。还有在代码中设置图片缩放,太麻烦。最后使用异步图片加载库Android-Universal-Image-Loader来解决这个问题。(项目中以前就使用Android-Universal-Image-Loader来加载网络图片,现在正好也解决了图片缩放这个问题。)

关于Android-Universal-Image-Loader的使用及说明请自查资料,这里不再介绍。

Android-Universal-Image-Loader库中DisplayImageOptions中的函数imageScaleType(ImageScaleType imageScaleType)是用来设置图片的缩放方式,参数如下:

ImageScaleType.EXACTLY :图像将完全按比例缩小的目标大小
ImageScaleType.EXACTLY_STRETCHED:图片会缩放到目标大小完全
ImageScaleType.IN_SAMPLE_INT:图像将被二次采样的整数倍
ImageScaleType.IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
ImageScaleType.NONE:图片不会调整

设置如下:imageScaleType(ImageScaleType.EXACTLY_STRETCHED)

ImageView设置如下:

<ImageView
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>  //高度也可以设置为match_parent,都一样


在使用ImageLoader加载图片时,图片会按比例缩放到填充满ImageView的大小。

0 0
原创粉丝点击