Android開發控制元件-VarietyImageView(百變ImageView,可以根據要求指定哪個角是圓角,哪個角是直角)
ImageView相信是Android開發人員再熟悉不過的一個控制元件了,在一般情況下基本的ImageView也都能滿足我們的開發需求,但相信大家也都遇到過ImageView無法滿足實際需求的情況,這次我就遇到了,先來看下需求:
1)可以設定成圓形ImageView
2)可以設定成圓角矩形ImageView
3)可以根據要求指定哪個角是圓角,哪個角是直角!!!
前兩個需求相信大多數同學都做過,不多說;
至於最後一個,先來看看已實現的效果圖,再進行剖析!
成果展示:
實現剖析:
我們在做圓形跟圓角矩形的時候會在onDraw()方法中分別呼叫canvas.drawCircle()和canvas.drawRoundRect()來進行相應的繪製。其中呼叫canvas.drawRoundRect()能將圓角矩形很好的畫出來,但是這樣做會將四個角都畫成圓角,而無法實現指定個別角為圓角。那怎麼辦呢?
既然canvas.drawRoundRect()只能把一個圓角矩形完整的畫出來,那我們先把這個圓角矩形畫出來,然後哪個角不希望它是圓角的,我們再把相應的直角畫回來就好了。這就是基本的實現思路了!具體的看程式碼吧!
VarietyImageView:
attr:
使用:
轉發請註明出處!!!
下載地址:http://download.csdn.net/detail/sinat_31841263/9906825
csdn:http://my.csdn.net/?ref=toolbar