昨天在开发过程中遇到需要获取加载很多网络图片的功能,尺寸不统一,大小不统一,所以在显示的时候会出现很多问题,其中一个问题就是图片显示出来后不能填满宽,ImageView布局代码如下:
<ImageView android:id="@+id/item_product2_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" android:src="@mipmap/test" android:adjustViewBounds="true" android:background="@color/colorLine" />
有没有发现多了两个属性,一般我们在使用ImageView的时候很少用到的,就是这两个属性解决了图片不能填满的问题。
其中注意一点的是在使用android:adjustViewBounds="true"的时候,图片有可能会非常的模糊,当然这个模糊是取决于你是怎么加载图片的,记住一点,一定要加载原图,不要进行压缩,不会就会很模糊。
我在进行图片加载的时候使用的是Glide,Glide加载图片的时候是默认进行压缩的,这个时候就需要进行处理下,添加如下代码:
GlideApp.with(mContext).load(item).apply(myOptions).override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).centerCrop().fitCenter().into(item_product2_image);
很好的解决了图片变形拉伸收缩的问题,而且不会模糊。
此博文仅做记录工作中遇到的问题,莫喷。