一、Glide简介
Glide是一个快速高效的Android上的图片加载库。它可以加载本地、网络、文件、Uri等多种资源,并且可以进行图片的裁剪、变换、缓存等操作。Glide跟Picasso、Fresco一样,都是比较常用的图片加载库。Glide优点是使用方便、速度快、占用内存小、支持Android5.0的webp格式图片。
二、图片展示效果
在实际开发中,我们可能需要将图片进行圆角展示。原本的图片是这样的:
Glide.with(this)
.load("https://picsum.photos/200")
.into(ivNormal);
使用Glide可以很方便地将图片裁剪成圆角效果,只要使用Glide的Transformations中的RoundCornerTransformation即可,代码如下:
Glide.with(this)
.load("https://picsum.photos/200")
.apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))
.into(ivRoundCorner);
三、圆角图片的自定义效果
除了默认的圆角效果之外,我们还可以对圆角效果进行自定义。RoundCornerTransformation的构造函数可以传入圆角的radiusX和radiusY,表示x轴方向和y轴方向的半径,分别对应左上角、右上角、右下角、左下角四个角。如果radiusX和radiusY相等,则为正圆角,否则为椭圆角。可以根据需要自己设置合适的半径,具体代码如下:
Glide.with(this)
.load("https://picsum.photos/200")
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(50, 0,
RoundedCornersTransformation.CornerType.TOP_LEFT)))
.into(ivCustomRoundCorner);
四、代码示例
1、加载圆角图片
Glide.with(this)
.load("https://picsum.photos/200")
.apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))
.into(ivRoundCorner);
2、加载自定义圆角图片
Glide.with(this)
.load("https://picsum.photos/200")
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(50, 0,
RoundedCornersTransformation.CornerType.TOP_LEFT)))
.into(ivCustomRoundCorner);
五、总结
使用Glide实现圆角图片展示效果非常简单,通过RoundCornerTransformation对图片进行裁剪即可。如果需要自定义圆角的半径,则可以通过RoundedCornersTransformation进行设置。Glide是一个非常优秀的图片加载库,在实际开发中推荐使用。