Android 圆角图形和圆角头像的完美实现
2016-03-02 10:25
375 查看
/** * 圆角图片控件 */ public class RoundImageView extends ImageView { public RoundImageView(Context context) { super(context); init(); } public RoundImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public RoundImageView(Context context, AttributeSet attrs) { super(context, attrs); init(); } private final RectF roundRect = new RectF(); private float rect_adius = 10; private final Paint maskPaint = new Paint(); private final Paint zonePaint = new Paint(); private void init() { maskPaint.setAntiAlias(true); maskPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); // zonePaint.setAntiAlias(true); zonePaint.setColor(Color.WHITE); // float density = getResources().getDisplayMetrics().density; rect_adius = rect_adius * density; } public void setRectAdius(float adius) { rect_adius = adius; invalidate(); } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); int w = getWidth(); int h = getHeight(); roundRect.set(0, 0, w, h); } @Override public void draw(Canvas canvas) { try { canvas.saveLayer(roundRect, zonePaint, Canvas.ALL_SAVE_FLAG); canvas.drawRoundRect(roundRect, rect_adius, rect_adius, zonePaint); // canvas.saveLayer(roundRect, maskPaint, Canvas.ALL_SAVE_FLAG); super.draw(canvas); canvas.restore(); } catch (Exception e) { e.printStackTrace(); } } }
阅读更多
相关文章推荐
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android BitmapShader 实现圆角图形,或圆图
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案
- Android 完美实现图片圆角和圆形
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android自定义图形图像,可实现圆角背景
- Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android使用Xfermode图形渲染方法实现自定义圆形、圆角和椭圆ImageView
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android 完美实现图片圆角和圆形