27
2017
09

RecyclerView加载瀑布流,图片自适应问题

在使用recyclerView加载瀑布流时,由于图片加载慢于item绘制,从而导致item中的图片无法正常显示,不是被压缩就是拉伸。


解决方案:
1.后台给一个图片的原始宽高,在recyclerView的适配器中计算比例和图片要显示的宽(高),将宽高设置给item,或者使用第三方加载控件glide.override(width,height)===>推荐。
2.后台不给宽高,则在recyclerView适配器中,同样计算出图片要显示的宽度,使用glide.override(width,height)===>height给一个高度,应该是按这个尺寸缩放,但测试之后给的高度是最大值,只要图片高度不超过自己设定的高度,就可以实现高度自适应。

代码:

Glide.with(mContext)
        .load(item.getView())
        //按照宽度等比例缩放
        .override(layoutParams.width, Integer.MAX_VALUE)  //给个最大值
         //添加圆角
        .transform(new FitCenter(mContext),new GlideRoundTransform(mContext, 10))
        .into(imageVeiw);

实现效果:
项目截图

上一篇:RecyclerView中嵌套RecyclerView导致自动滚动 下一篇:Intent的用法(1)