想实现如上图Google+的action bar,显示圆形logo(指定的drawable)。如何实现?
学习是最好的投资!
使用的話可以直接用下面2個函式庫:https://github.com/hdodenhof/CircleImageViewhttps://github.com/vinc3m1/RoundedImageView
原理的話... 就是在Paint上使用PorterDuffXfermode
先用 canvas.drawCircle方法畫一個圓,然後設定PorterDuffXfermode,用正交模式, 再繪製bitmap, 這樣前後繪製的2個圖形只顯示交集部分...圖片就只剩個圓了..
第二種方式是Shader 簡單理解的話可以認為是把 bitmap 作成paint的紋理,然後用paint直接在canvas上畫圓
上面2個函式庫都有原始碼...
雷雷
使用的話可以直接用下面2個函式庫:
https://github.com/hdodenhof/CircleImageView
https://github.com/vinc3m1/RoundedImageView
原理的話...
就是在Paint上使用PorterDuffXfermode
先用 canvas.drawCircle方法畫一個圓,然後設定PorterDuffXfermode,用正交模式,
再繪製bitmap, 這樣前後繪製的2個圖形只顯示交集部分...圖片就只剩個圓了..
第二種方式是Shader
簡單理解的話可以認為是把 bitmap 作成paint的紋理,然後用paint直接在canvas上畫圓
上面2個函式庫都有原始碼...
雷雷