原创文章,转载请联系做者java
Glide
是目前使用的颇为普遍的图片加载框架,同时也是Google官方推荐使用的。在图片处理方面,它提供了不少不错的功能。git
圆角图片显示,大概是不少APP都会出现的UI设计了,Glide
自己也提供了圆角图片的加载方式——但也只是简单的四圆角。实际项目开发中,有时候会遇到,只须要顶部展现圆角,或者只须要左侧展现圆角等等。
那么,本次的方法适用于使用了Glide
做为项目图片框架的小可爱们,开发者能够对四个圆角进行单独设置,不单单是显示隐藏,每一个圆角的半径亦是独立存在的。github
Glide
有对外暴露一个方法,能够在图片显示前,对图片做转换处理——就是Transformations
。有关此方面的文字,小可爱们能够看看这篇——Glide - 自定义转换。本文的RoundCorner
就是继承了BitmapTransformation
类来实现的。它对外提供两个构造函数,一个构造函数有四个参数,分别是leftTop:左上角
、rightTop:右上角
、leftBottom:左下角
、rightBottom:右下角
。能够供外部,灵活的去选择设置哪几个圆角须要去展现,四个圆角的半径大小。另外一个函数,只提供一个参数就是同时设置四个圆角,固然这是用于四个圆角同时展现且半径相同的状况下。于此同时,构造函数中只须要传数值便可,类内部已经作了dp处理。
下面作一下简单的展现。bash
Glide.with(this).load("http://p15.qhimg.com/bdm/720_444_0/t01b12dfd7f42342197.jpg")
.apply(RequestOptions.bitmapTransform(RoundCorner(20f)))
.into(img)
复制代码
Glide.with(this).load("http://p15.qhimg.com/bdm/720_444_0/t01b12dfd7f42342197.jpg")
.apply(RequestOptions.bitmapTransform(RoundCorner(leftTop = 20f, rightTop = 20f)))
.into(img)
复制代码
Glide.with(this).load("http://p15.qhimg.com/bdm/720_444_0/t01b12dfd7f42342197.jpg")
.apply(RequestOptions.bitmapTransform(RoundCorner(leftTop = 20f, leftBottom = 20f)))
.into(img)
复制代码
以上就是一次简单的展现了,若是你想更加灵活的加载圆角图片,选择这个方法没有错。代码在这里,传送门——RoundCornerapp
以上
框架