Android項(xiàng)目開發(fā)中經(jīng)常會(huì)遇見(jiàn)需要實(shí)現(xiàn)圓角或者圓形的圖片功能,如果僅僅使用系統(tǒng)自帶的ImageView控件顯然無(wú)法實(shí)現(xiàn)此功能,所以通過(guò)系列文章的形式由簡(jiǎn)到繁全方位的介紹一下此功能的實(shí)現(xiàn),鞏固一下自身的學(xué)習(xí),同時(shí),和廣大網(wǎng)友交流分享

本項(xiàng)目源碼下載地址:鏈接:http://pan.baidu.com/s/1sljdvtF 密碼:xj85

首先看效果圖

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

首先看一下CircleImageView的主要流程

1. 首先通過(guò)setImageXxx()方法設(shè)置圖片Bitmap; 
2. 進(jìn)入構(gòu)造函數(shù)CircleImageView()獲取自定義參數(shù),以及調(diào)用setup()函數(shù); 
3. 進(jìn)入setup()函數(shù)(非常關(guān)鍵),進(jìn)行圖片畫筆邊界畫筆(Paint)一些重繪參數(shù)初始化:構(gòu)建渲染器BitmapShader用Bitmap來(lái)填充繪制區(qū)域,設(shè)置樣式和內(nèi)外圓半徑計(jì)算等,以及調(diào)用updateShaderMatrix()函數(shù)和 invalidate()函數(shù); 
4. 進(jìn)入updateShaderMatrix()函數(shù),計(jì)算縮放比例和平移,設(shè)置BitmapShader的Matrix參數(shù)等; 
5. 觸發(fā)ondraw()函數(shù)完成最終的繪制。使用配置好的Paint先畫出繪制內(nèi)圓形來(lái)以后再畫邊界圓形。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式