android 画圆
16lz
2021-01-26
public class CircleImage extends View {private int centerY;private int centerX;private int outerRadius;private Paint circlePaint;private int defaultColor = Color.GRAY;public CircleImage(Context context) {super(context);init(context, null);}public CircleImage(Context context, AttributeSet attrs) {super(context, attrs);init(context, attrs);}public CircleImage(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);init(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) {canvas.drawCircle(centerX, centerY, outerRadius , circlePaint);super.onDraw(canvas);}@Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);centerX = w / 2;centerY = h / 2;outerRadius = Math.min(w, h) / 2;}public void setColor(int color) {this.defaultColor = color;circlePaint.setColor(defaultColor);this.invalidate();}private void init(Context context, AttributeSet attrs) {//this.setScaleType(ScaleType.CENTER_INSIDE);circlePaint = new Paint(Paint.ANTI_ALIAS_FLAG);circlePaint.setStyle(Paint.Style.FILL);int color = defaultColor;if (attrs != null) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.View); color = a.getColor(R.styleable.View_background, color);a.recycle();}setColor(color);} @Override public void setBackgroundColor(int color) { setColor(color); }}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer