加上文字表盤
This commit is contained in:
parent
9b26d5e4ab
commit
d684db72ed
@ -59,6 +59,15 @@ class IOSClockView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val clockHourText: Paint by lazy {
|
||||||
|
Paint().apply {
|
||||||
|
isAntiAlias = true
|
||||||
|
style = Paint.Style.FILL
|
||||||
|
color = Color.BLACK
|
||||||
|
textSize = width * 0.1f
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private val clockMinuteScale: Paint by lazy {
|
private val clockMinuteScale: Paint by lazy {
|
||||||
Paint().apply {
|
Paint().apply {
|
||||||
isAntiAlias = true
|
isAntiAlias = true
|
||||||
@ -103,7 +112,7 @@ class IOSClockView: View {
|
|||||||
|
|
||||||
drawClockFace(canvas)
|
drawClockFace(canvas)
|
||||||
|
|
||||||
drawScaleHourHand(canvas, 12)
|
drawTime(canvas)
|
||||||
|
|
||||||
postInvalidateDelayed(30)
|
postInvalidateDelayed(30)
|
||||||
}
|
}
|
||||||
@ -146,10 +155,20 @@ class IOSClockView: View {
|
|||||||
val stopX = centerX + sin(degrees.toDouble()).toFloat() * (radius * 0.95f)
|
val stopX = centerX + sin(degrees.toDouble()).toFloat() * (radius * 0.95f)
|
||||||
val stopY = centerY - cos(degrees.toDouble()).toFloat() * (radius * 0.95f)
|
val stopY = centerY - cos(degrees.toDouble()).toFloat() * (radius * 0.95f)
|
||||||
canvas?.drawLine(startX, startY, stopX, stopY, clockHourScale)
|
canvas?.drawLine(startX, startY, stopX, stopY, clockHourScale)
|
||||||
|
if (i % 5 == 0) {
|
||||||
|
val text = "${if (i % 12 == 0) 12 else i % 12}"
|
||||||
|
val textX = centerX + sin(degrees.toDouble()).toFloat() * (radius * 0.75f) - if (text.length == 1) {
|
||||||
|
(width * 0.1f) / 3.25f
|
||||||
|
} else {
|
||||||
|
(width * 0.1f) / 2f
|
||||||
|
}
|
||||||
|
val textY = centerY - cos(degrees.toDouble()).toFloat() * (radius * 0.75f) + (width * 0.1f) / 2.75f
|
||||||
|
canvas?.drawText(text, textX, textY, clockHourText)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun drawScaleHourHand(canvas: Canvas?, value: Int) {
|
private fun drawTime(canvas: Canvas?) {
|
||||||
val mPaint = Paint()
|
val mPaint = Paint()
|
||||||
val mPointRange = 100f
|
val mPointRange = 100f
|
||||||
// 取得目前時間:時、分、秒
|
// 取得目前時間:時、分、秒
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user