首页 > 其他分享 >解决Glide加载圆形图片,第一次只显示点位图的问题

解决Glide加载圆形图片,第一次只显示点位图的问题

时间:2023-05-08 16:32:36浏览次数:49  
标签:container Glide url imageView 点位 drawable holder 加载


解决Glide加载圆形图片,第一次只显示点位图的问题





1 parent 54cf183 commit ce068f3db5033b9af4b1b6ca5b9e77184dce9bcb 解决Glide加载圆形图片,第一次只显示点位图的问题_ci studiotang committed on 4 Nov 2015



Unified Split



3 changed files with  37 additions and  10 deletions.




 

@@ -68,7 +68,7 @@ public View getView(int position, View convertView, ViewGroup parent) {

 

 

}

 

 

 

 

if (!TextUtils.isEmpty(getItem(position).getImgUrl())) {

 

 

-ImageLoaderUtils.displayImg(getItem(position).getImgUrl(), holder.imvBlogger);

 

 

+ImageLoaderUtils.displayRoundImage(getItem(position).getImgUrl(), holder.imvBlogger);

 

 

}else

 

 

holder.imvBlogger.setImageResource(R.drawable.ic_default);

 

 

}

 



View





@@ -113,7 +113,7 @@ public View getView(int position, View convertView, ViewGroup parent) {

 

 

holder.date.setText(item.getPostTime());

 

 

// holder.reply.setText(item.getReplyCount());

 

 

 

 

-ImageLoaderUtils.displayImg(item.getUserface(), holder.userface);

 

 

+ImageLoaderUtils.displayRoundImage(item.getUserface(), holder.userface);

 

 

break;

 

 

caseAppConstants.DEF_COMMENT_TYPE.CHILD:

 

 

holder.name.setText(item.getUsername());

 



View





 

 

@@ -1,8 +1,13 @@

 

 

packagecom.free.csdn.util;

 

 

 

 

importcom.bumptech.glide.Glide;

 

 

+importcom.bumptech.glide.request.target.BitmapImageViewTarget;

 

 

importcom.free.csdn.R;

 

 

 

 

+importandroid.content.Context;

 

 

+importandroid.graphics.Bitmap;

 

 

+importandroid.support.v4.graphics.drawable.RoundedBitmapDrawable;

 

 

+importandroid.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;

 

 

importandroid.text.TextUtils;

 

 

importandroid.widget.ImageView;

 

 

@@ -19,13 +24,12 @@

 

 

* 加载图片

 

 

*

 

 

* @param url

 

 

- container

 

 

+ imageView

 

 

*/

 

 

-public static void displayImg(String url, ImageView container) {

 

 

-// Glide.with(myFragment).load(url).centerCrop().placeholder(R.drawable.loading_spinner)

 

 

-// .crossFade().into(myImageView);

 

 

-Glide.with(container.getContext()).load(url).centerCrop().crossFade()

 

 

- .error(R.drawable.ic_default).into(container);

 

 

+public static void displayImg(String url, ImageView imageView) {

 

 

+Glide.with(imageView.getContext()).load(url).centerCrop().crossFade().placeholder(R.drawable.ic_default)

 

 

+ .error(R.drawable.ic_default).into(imageView);

 

 

+

 

 

}

 

 

 

 

/**

@@ -37,8 +41,31 @@ public static void displayImg(String url, ImageView container) {

 

 

* 默认占位图片

 

 

*/

 

 

publicstatic void displayImg(Stringurl, ImageView container,int defaultResId) {

 

 

-Glide.with(container.getContext()).load(url).centerCrop().crossFade()

 

 

- .placeholder(defaultResId).error(R.drawable.ic_default).into(container);

 

 

+Glide.with(container.getContext()).load(url).centerCrop().crossFade().placeholder(defaultResId)

 

 

+ .error(R.drawable.ic_default).into(container);

 

 

+ }

 

 

+

 

 

+/**

 

 

+ * 加载圆形图片

 

 

+ *

 

 

+ * @error 加载圆形图片或者其他自定义图片,需要作一些转化,详细请参考:

 

 

+ * <a herf="http://www.jianshu.com/p/4a3177b57949">

 

 

+ *

 

 

+ * @param url

 

 

+ * @param imageView

 

 

+ */

 

 

+public static void displayRoundImage(String url, final ImageView imageView) {

 

 

+final Context context = imageView.getContext();

 

 

+Glide.with(context).load(url).asBitmap().centerCrop().placeholder(R.drawable.ic_default)

 

 

+ .error(R.drawable.ic_default).into(newBitmapImageViewTarget(imageView) {

 

 

+@Override

 

 

+protected void setResource(Bitmapresource) {

 

 

+RoundedBitmapDrawable circularBitmapDrawable= RoundedBitmapDrawableFactory

 

 

+ .create(context.getResources(), resource);

 

 

+// circularBitmapDrawable.setCircular(true);

 

 

+ imageView.setImageDrawable(circularBitmapDrawable);

 

 

+ }

 

 

+ });

 

 

}

 

 

 

 

/**

 

标签:container,Glide,url,imageView,点位,drawable,holder,加载
From: https://blog.51cto.com/u_16099425/6254948

相关文章

  • 108中超轻量级的加载动画!
    大家好,我是【程序视点】小二哥!今天要上的菜不是Animate.js,也不是Move.js,而是能提供108种加载动画的库:Whirl.最省力的加载动画话不多说,直接来看例子。以上只是冰山一角。whirl的CSS加载动画集合中有108种选项供你挑选。选中喜欢的动画后,点击“GrabtheCSSonGithub......
  • WPS2021 无法加载此加载项程序 解决办法
    我们多次安装WPS后容易导致WPS的默认加载项位置错误,打开word时提示如下错误1.此时可以通过如下步骤解决:开发工具——加载项——禁用——确定即可以正常使用 2.如果需要加载mathtype加载项,则通过加入正确的路径即可解决:添加——mathtype正确的路径——确定3.重新打开word......
  • 【Dotnet 工具箱】DotNetCorePlugins- 动态加载和卸载 .NET 程序插件
    你好,这里是Dotnet工具箱,定期分享Dotnet有趣,实用的工具和组件,希望对您有用!1.DotNetCorePlugins-动态加载和卸载.NET程序插件DotNetCorePlugins是一个.NET的开源插件项目,它提供了能够动态加载程序集的API,然后把它们作为.NET主程序的扩展程序执行。这个库主要用到了......
  • (libgdx小结)资源加载器
    一、初始化及常见的APImanager=newAssetManager();//初始化资源管理器manager.load("animation.png",Texture.class);//预加载资源manager.unload("animation.png");//卸载资源manager.isLoaded("animation.png",Texture.class)//判断资源animation.png是否已经加载manager.ge......
  • Cesium:设置加载时的初始视角
    先选好位置,并调整好视角,然后按F12打开控制台分别输入:viewer.camera.positionviewer.camera.headingviewer.camera.pitchviewer.camera.roll来分别获取你选好的位置的坐标,视角等信息,然后利用viewer.camera.setView进行设置。viewer.camera.setView({//Cesium的坐......
  • vue2使用图片懒加载之vue-lazyload
    1.为什么要进行图片懒加载呢?使用图片懒加载的主要原因是为了优化网站或应用程序的性能和用户体验。当页面中存在大量图片时,如果一次性全部加载会影响页面的加载速度,用户可能需要等待很长时间才能看到完整的页面内容,这会影响用户的体验和满意度。2.如何实现图片懒加载使用http......
  • 【B/S】引用Google或微软的CDN加载jQuery
    一、前言前文介绍了JQuery的基础知识,下面小编给大家介绍一下引用Google或微软的CDN加载jQuery。二、内容分析      在网页中我们经常使用jQuery库,选择使用的jQuery加载源,能有效加快网站的加载速度,目前最佳的选择就是使用Google或Microsoft提供的CDNjQuery源。GoogleAjaxAP......
  • Intersection Observer API 实现图片懒加载
    1,为需要延迟加载的图片设置data-src属性。<imgsrc=""data-src="image.jpg"alt="图片">2,使用IntersectionObserverAPI监听可视区域内的元素变化,并将其data-src属性值赋给src属性,显示图片。constlazyLoadImg=newIntersectionObserver((entries,observer)=>{en......
  • 无法加载响应数据: No data found for resource with given identifier
    环境Ubuntu22.04IDEADocker中使用nginx问题描述之前使用正常,今天打开前端报错,postman测试正常解决由于nginx在docker中使用,upstream不能使用127.0.0.1,需要使用本机ip,而本机ip是会变的。需要更改新的本机ip......
  • spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们......