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);    }}

 

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android(安卓)TabLayout设置选中状态标题
  2. Android(安卓)开发中,pullToRefreshListV
  3. 【Android面试】Android面试题集锦 (陆续
  4. android中去掉标题栏和状态栏
  5. Android的登陆MD5加密
  6. Android(安卓)ApiDemos示例解析(108):Vie
  7. Android(安卓)space控件:间隙留白
  8. 7788
  9. Android(安卓)欢迎界面淡出动画效果(Anim
  10. Android(安卓)获取drawable中图片的高度