From bb9a3dc3f5390a0f6da70b21e4ba8776c83529a2 Mon Sep 17 00:00:00 2001 From: lxh2875931338 Date: Tue, 14 Jul 2026 22:58:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=AA=E6=BC=AB=E9=9B=85=E5=9C=86=EF=BC=88Fl?= =?UTF-8?q?ymeFont.ttf=EF=BC=89=E8=84=B1=E8=89=B2=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/fonts/flymeFont.ttf | Bin 9290460 -> 9279552 bytes lib/widgets/battery_info_panel.dart | 81 +++++++--------------------- lib/widgets/battery_summary.dart | 51 +++++++----------- 3 files changed, 38 insertions(+), 94 deletions(-) diff --git a/assets/fonts/flymeFont.ttf b/assets/fonts/flymeFont.ttf index 55911ffb73c3b6ac62787c89e65c74ca530f4c37..3def72a1d9a2a518626f67a99f558d8800ea01d3 100644 GIT binary patch delta 8589 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 diff --git a/lib/widgets/battery_info_panel.dart b/lib/widgets/battery_info_panel.dart index 922fbd4..e77c45a 100644 --- a/lib/widgets/battery_info_panel.dart +++ b/lib/widgets/battery_info_panel.dart @@ -38,9 +38,11 @@ class BatteryInfoPanel extends StatelessWidget { children: [ RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 14, fontWeight: FontWeight.w500, + color: Colors.red, ), children: [ const TextSpan( @@ -50,29 +52,18 @@ class BatteryInfoPanel extends StatelessWidget { color: Colors.red, ), ), - TextSpan( - text: maxVolt.toStringAsFixed(3), - style: const TextStyle( - fontFamily: 'Flyme', // 🟢 数字用 Flyme - color: Colors.red, - ), - ), - const TextSpan( - text: 'V', - style: TextStyle( - fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.red, - ), - ), + TextSpan(text: '${maxVolt.toStringAsFixed(3)}V'), ], ), ), const SizedBox(width: 12), RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 14, fontWeight: FontWeight.w500, + color: Colors.blue, ), children: [ const TextSpan( @@ -82,20 +73,7 @@ class BatteryInfoPanel extends StatelessWidget { color: Colors.blue, ), ), - TextSpan( - text: minVolt.toStringAsFixed(3), - style: const TextStyle( - fontFamily: 'Flyme', // 🟢 数字用 Flyme - color: Colors.blue, - ), - ), - const TextSpan( - text: 'V', - style: TextStyle( - fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.blue, - ), - ), + TextSpan(text: '${minVolt.toStringAsFixed(3)}V'), ], ), ), @@ -111,16 +89,18 @@ class BatteryInfoPanel extends StatelessWidget { _buildInfoItem( _buildIcon('temperature'), '温度', - '${batteryTemp.toStringAsFixed(0)}°C', + '${batteryTemp.toStringAsFixed(0)}℃', ), const SizedBox(height: 8), Row( children: [ RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 14, fontWeight: FontWeight.w500, + color: Colors.red, ), children: [ const TextSpan( @@ -130,29 +110,18 @@ class BatteryInfoPanel extends StatelessWidget { color: Colors.red, ), ), - TextSpan( - text: maxTemp.toStringAsFixed(0), - style: const TextStyle( - fontFamily: 'Flyme', // 🟢 数字用 Flyme - color: Colors.red, - ), - ), - const TextSpan( - text: '°C', - style: TextStyle( - fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.red, - ), - ), + TextSpan(text: '${maxTemp.toStringAsFixed(0)}℃'), ], ), ), const SizedBox(width: 12), RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 14, fontWeight: FontWeight.w500, + color: Colors.blue, ), children: [ const TextSpan( @@ -162,20 +131,7 @@ class BatteryInfoPanel extends StatelessWidget { color: Colors.blue, ), ), - TextSpan( - text: minTemp.toStringAsFixed(0), - style: const TextStyle( - fontFamily: 'Flyme', // 🟢 数字用 Flyme - color: Colors.blue, - ), - ), - const TextSpan( - text: '°C', - style: TextStyle( - fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.blue, - ), - ), + TextSpan(text: '${minTemp.toStringAsFixed(0)}℃'), ], ), ), @@ -226,9 +182,10 @@ class BatteryInfoPanel extends StatelessWidget { Text( value, style: const TextStyle( - fontFamily: 'Flyme', // 🟢 数字(含单位)用 Flyme + fontFamily: 'Flyme', fontSize: 16, fontWeight: FontWeight.w500, + color: Colors.black, ), ), ], diff --git a/lib/widgets/battery_summary.dart b/lib/widgets/battery_summary.dart index cc41f22..856cbe6 100644 --- a/lib/widgets/battery_summary.dart +++ b/lib/widgets/battery_summary.dart @@ -16,6 +16,8 @@ class BatterySummary extends StatelessWidget { @override Widget build(BuildContext context) { + final bool isLowHealth = healthPercent < 70; + return Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ @@ -31,18 +33,18 @@ class BatterySummary extends StatelessWidget { fontSize: 40, fontWeight: FontWeight.w500, height: 1.0, - color: healthPercent < 70 ? Colors.red : Colors.black, + color: isLowHealth ? Colors.red : Colors.black, ), ), const SizedBox(width: 2), Text( '%', style: TextStyle( - fontFamily: 'HarmonyOS_Sans_SC', + fontFamily: 'Flyme', fontSize: 20, fontWeight: FontWeight.w300, height: 1.0, - color: healthPercent < 70 ? Colors.red : Colors.grey.shade600, + color: isLowHealth ? Colors.red : Colors.grey.shade600, ), ), ], @@ -54,23 +56,18 @@ class BatterySummary extends StatelessWidget { children: [ RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 16, fontWeight: FontWeight.w500, height: 1.2, color: Colors.black, ), children: [ + TextSpan(text: '$cycleCount'), TextSpan( - text: '$cycleCount', - style: const TextStyle( - fontFamily: 'Flyme', - color: Colors.black, - ), - ), - const TextSpan( text: ' cycles', - style: TextStyle( + style: const TextStyle( fontFamily: 'HarmonyOS_Sans_SC', color: Colors.black, ), @@ -81,40 +78,30 @@ class BatterySummary extends StatelessWidget { const SizedBox(height: 4), RichText( text: TextSpan( - style: const TextStyle( + style: TextStyle( + fontFamily: 'Flyme', fontSize: 20, fontWeight: FontWeight.w300, height: 1.0, - color: Colors.black, + color: const Color(0xFF5F5F5F), ), children: [ - TextSpan( - text: currentCap.toStringAsFixed(0), - style: const TextStyle( - fontFamily: 'Flyme', - color: Colors.black, - ), - ), + TextSpan(text: currentCap.toStringAsFixed(0)), TextSpan( text: ' / ', style: TextStyle( fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.grey.shade500, + color: const Color(0xFF5F5F5F).withOpacity(0.5), ), ), - // 🟢 设计容量数字用 Flyme,单位用 Harmony + TextSpan(text: designCap.toString()), TextSpan( - text: designCap.toString(), - style: const TextStyle( - fontFamily: 'Flyme', - color: Colors.black, - ), - ), - TextSpan( - text: 'mAh', + text: ' mAh', style: const TextStyle( fontFamily: 'HarmonyOS_Sans_SC', - color: Colors.black, + fontSize: 16, + fontWeight: FontWeight.w500, + color: Color(0xFF5F5F5F), ), ), ],