使用glide框架加载图片遇到的一些问题

一.图片变形问题

     使用glide设置imageview的ScaleType 为centerCrop时,第一次在recyclerview加载图片时会出现图片变形的情况,这时候取消glide的预加载动画,这是控件不是wrap_content的情况代码如下:

      

Glide.with(this).load(url).asBitmap().centerCrop().placeholder(R.drawable.shape_default).into(imageview);


如果控件没有给予固定大小,首次加载在recyclerview未显示的一些item 还是会出现加载变形的情况,当刷新界面的时候有恢复正常的状态.


二.图片服用的问题

     在使用glide加载列表图片时,要进行图片地址的判断,如果不判断有recyleview服用viewholder的原因,导致图片服用的问题,具体解决代码如下:

      

if (data.getKeyword() != null){
                if (!TextUtils.isEmpty(data.getKeyword())){
                    Glide.with(getContext()).load(data.getKeyword()).asBitmap().placeholder(R.drawable.shape_default_icon_rectangle).into(chatItemContentImage);


                } else {
                    // 圖片網址為空,清除imageView的Drawable
                    Glide.clear(chatItemContentImage);
                    chatItemContentImage.setImageDrawable(null);
                }

            }else {
                chatItemContentImage.setImageResource(R.drawable.shape_default_icon_rectangle);
            }



 
  

                  

你可能感兴趣的:(glide)