偶然有天发现朋友圈有人晒出苹果手机的一个就寝功能,里面一个显示睡眠时间的控件,觉得这个控件非常好看,而且正好看了一系列的自定义控件文章,就模仿这个试一试。
1 先看效果图:完整源码在这里
2.具体实现:
(1)初始化一些画笔
从图中可以分析出,我们需要如下画笔:画外面黑色大圆,画时钟数字,画中间文字,画时钟刻度等等,也就是需要什么画笔new出来就好。
/**
* 初始化画笔:
*/
private void init() {
blackPaint = new Paint();
blackPaint.setColor(Color.parseColor("#171717"));
blackPaint.setStyle(Paint.Style.STROKE);//填充
blackPaint.setStrokeWidth(60);
blackPaint.setAntiAlias(true);
bigPaint = new Paint();
bigPaint.setColor(Color.BLACK);
bigPaint.setStyle(Paint.Style.STROKE);
bigPaint.setStrokeWidth(1);
bigPaint.setAntiAlias(true);
yellowPaint = new Paint();
yellowPaint.setStyle(Paint.Style.STROKE);//填充
yellowPaint.setStrokeWidth(60);
yellowPaint.setAntiAlias(true);
//头部画笔
headTailPaint = new Paint();
headTailPaint.setStyle(Paint.Style.STROKE);//填充
headTailPaint.setColor(Color.parseColor("#ff9801"));
headTailPaint.setStrokeWidth(58);
headTailPaint.setAntiAlias(true);
//尾部画笔
headTailPaint1 = new Paint();
headTailPaint1.setStyle(Paint.Style.STROKE);//填充
headTailPaint1.setColor(Color.parseColor("#ffcb05"));
headTailPaint1.setStrokeWidth(58);
headTailPaint1.setAntiAlias(true);
smallPaint = new Paint();