原創文章,轉載請聯繫做者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
以上
框架