From f1a99b71f8c661332528c1b81e9b843e9da02be0 Mon Sep 17 00:00:00 2001 From: dongliang Date: Thu, 7 May 2026 15:38:27 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=B5=E6=B1=A0=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E7=99=BD=E5=AD=97+=E9=BB=91=E8=89=B2?= =?UTF-8?q?=E6=8F=8F=E8=BE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 黑字在黑色背景上看不见,白字在绿色填充上也不清楚 改用白色填充+黑色描边,在任何背景上都清晰可读 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../com/xiaoqu/watch/ui/widget/StatusBarView.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/ui/widget/StatusBarView.kt b/app/src/main/java/com/xiaoqu/watch/ui/widget/StatusBarView.kt index f4b16a1..b5b0fdd 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/widget/StatusBarView.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/widget/StatusBarView.kt @@ -116,17 +116,24 @@ class StatusBarView @JvmOverloads constructor( canvas.drawRoundRect(fillRect, 2f, 2f, paint) // 电池内部文字:充电时显示 ⚡,否则显示百分比 - // 深色文字确保在任何填充色上都清晰可读 + // 白色文字 + 黑色描边,在填充条和黑色背景上都清晰 if (batteryLevel >= 0) { val text = if (isCharging) "⚡" else "${batteryLevel}" - paint.style = Paint.Style.FILL - paint.color = 0xFF000000.toInt() paint.textSize = 11f paint.textAlign = Paint.Align.CENTER paint.typeface = android.graphics.Typeface.DEFAULT_BOLD val metrics = paint.fontMetrics val baselineY = centerY - (metrics.ascent + metrics.descent) / 2 - canvas.drawText(text, startX + shellW / 2, baselineY, paint) + val cx = startX + shellW / 2 + // 先画黑色描边(让白字在绿色填充上有边界) + paint.style = Paint.Style.STROKE + paint.strokeWidth = 2.5f + paint.color = 0xFF000000.toInt() + canvas.drawText(text, cx, baselineY, paint) + // 再画白色填充 + paint.style = Paint.Style.FILL + paint.color = 0xFFFFFFFF.toInt() + canvas.drawText(text, cx, baselineY, paint) paint.textAlign = Paint.Align.LEFT paint.typeface = android.graphics.Typeface.DEFAULT }