自定义圆形时钟

阅读: 评论:0

自定义圆形时钟

自定义圆形时钟

自定义ClockView


 效果图:

自定义View
public class ClockView extends View {private float cx;private float cy;private int radius;private Paint paint;public ClockView(Context context) {this(context, null);}public ClockView(Context context, AttributeSet attrs) {this(context, attrs, 0);}public ClockView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}/*** 对View进行绘制* @param canvas 画布对象*/@Overrideprotected void onDraw(Canvas canvas) {Draw(canvas);//初始化参数cx = getWidth() / 2f;cy = getHeight() / 2f;radius = Math.min(getWidth(), getHeight()) / 2 - 10;paint = new Paint();//绘制表盘paint.setColor(Color.BLACK);//画笔的颜色paint.setStrokeWidth(5);//画笔粗细paint.setStyle(Paint.Style.STROKE);//空心画笔canvas.drawCircle(cx, cy, radius, paint);//绘制圆心paint.setStyle(Paint.Style.FILL);paint.setColor(Color.RED);canvas.drawCircle(cx, cy, radius / 10, paint);//拿到当前时间int hour = Instance().get(Calendar.HOUR);int minute = Instance().get(Calendar.MINUTE);int second = Instance().get(Calendar.SECOND);float fhour = Instance().get(Calendar.HOUR) + minute / 60f;//绘制指针paint.setStrokeWidth(20);paint.setColor(Color.RED);paint.setStrokeCap(Paint.Cap.ROUND);canvas.drawLine(cx, cy, (float) (cx + radius * 0.5 * Math.Radians(fhour * 30))),(float) (cy - (radius * 0.5 * Radians(fhour * 30)))), paint);paint.setStrokeWidth(10);paint.setColor(Color.BLUE);canvas.drawLine(cx, cy, (float) (cx + radius * 0.6 * Math.Radians(minute * 6))),(float) (cy - (radius * 0.6 * Radians(minute * 6)))), paint);paint.setStrokeWidth(5);paint.setColor(Color.GREEN);canvas.drawLine(cx, cy, (float) (cx + radius * 0.7 * Math.Radians(second * 6))),(float) (cy - (radius * 0.7 * Radians(second * 6)))), paint);//绘制数字paint.setTextSize(50);paint.setColor(Color.BLACK);for (int i = 1; i < 13; i++) {float tx = asureText(i + "") / 2;canvas.drawText(i + "", (float) (cx + radius * 0.85 * Math.Radians(i * 30))) - tx,(float) (cy - (radius * 0.85 * Radians(i * 30)))) + 20, paint);}//每秒刷新一次postInvalidateDelayed(1000);//1000毫秒后调onDraw()刷新自己}
}

有兴趣的朋友可以试试。觉得不错就请点个赞。谢谢...



本文发布于:2024-01-29 01:25:29,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646273411719.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:自定义   圆形   时钟
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23