自定义BitmapTransformation完美解决Glide加载圆角或者圆形图片
来源:互联网 发布:java新手入门教程视频 编辑:程序博客网 时间:2024/05/20 00:12
当使用Glide加载图片时,如果此时需要使用到圆角图片,我们第一时间会想到自定义ImageView,但是这种方法会报错(记得是类加载异常)。Glide本身提供了transform方法,进行转化。
代码示下:
public class GlideRoundTransform extends BitmapTransformation { private static float radius = 0f; public GlideRoundTransform(Context context) { this(context, 4); } public GlideRoundTransform(Context context, int dp) { super(context); this.radius = 15f; } @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return roundCrop(pool, toTransform); } private static Bitmap roundCrop(BitmapPool pool, Bitmap source) { if (source == null) return null; Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); if (result == null) { result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); } Canvas canvas = new Canvas(result); Paint paint = new Paint(); paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP)); paint.setAntiAlias(true); RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight()); canvas.drawRoundRect(rectF, radius, radius, paint); return result; } @Override public String getId() { return getClass().getName() + Math.round(radius); }}
最后我们需要
Glide.with(this).transform(new GlideRoundTransform (this)),就Ok了。
注意:这是设置圆角图片的代码。
1 0
- 自定义BitmapTransformation完美解决Glide加载圆角或者圆形图片
- Glide 加载圆角、圆形图片
- Glide 加载圆角或圆形图片
- Glide加载圆角、圆形图片
- Glide加载圆形,圆角图片
- Glide加载圆形图片和圆角图片的解决方式。
- Glide使用 加载网络图片 圆形图片 圆角图片
- Glide加载圆形图片
- Glide加载圆形图片
- Glide加载圆形图片
- Glide 圆形加载图片
- 使用Glide动态加载圆形图片和圆角图片
- 使用Glide动态加载圆形图片和圆角图片
- Glide动态加载圆形图片和圆角图片
- 使用Glide动态加载圆形图片跟圆角图片
- Glide加载图片显示圆形和圆角矩形图片
- 自定义圆形或者圆角矩形图片
- Glide加载圆形、圆角等图片的用法
- STM32之中断与事件---中断与事件的区别
- matlab添加工具箱(2014b版)
- WKWebView适应屏幕宽度
- MATLAB逻辑数组
- struts2+jquery+Ajax异步请求发送与解析json数据
- 自定义BitmapTransformation完美解决Glide加载圆角或者圆形图片
- [Ryzom_service]配置文件中StartCommands运行
- apt安装sbt(Scala)
- Character的用法
- 函数调用栈帧过程(带图详解)
- 申请Let's Encrypt的证书
- Matlab数字图像处理基础【12】
- Zookeeper集群环境配置
- Android安全攻防战,反编译与混淆技术完全解析(上)