From a72adcfc3fa7c1a9946dd179ce072e3ce8475696 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 12:30:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(flutter):=20=E6=94=BE=E5=A4=A7=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=9B=BE=E6=A0=87=E5=B9=B6=E5=8A=A0=E5=8D=8A=E9=80=8F?= =?UTF-8?q?=E6=98=8E=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/player/widgets/player_center_toggle.dart | 11 ++++++++--- test/player/player_center_toggle_test.dart | 14 ++++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/pages/player/widgets/player_center_toggle.dart b/lib/pages/player/widgets/player_center_toggle.dart index a764c26..4ea318f 100644 --- a/lib/pages/player/widgets/player_center_toggle.dart +++ b/lib/pages/player/widgets/player_center_toggle.dart @@ -4,8 +4,9 @@ import 'package:flutter/material.dart'; import '../../../core/theme/app_colors.dart'; -const double _toggleSize = 72; -const double _iconSize = 40; +const double _toggleSize = 84; +const double _iconSize = 48; +const Color _toggleBackground = Colors.black26; const List _iconShadows = [ Shadow(color: Colors.black54, blurRadius: 12), ]; @@ -28,9 +29,13 @@ class PlayerCenterToggle extends StatelessWidget { label: playing ? 'Pause' : 'Play', child: GestureDetector( onTap: onTap, - child: SizedBox( + child: Container( width: _toggleSize, height: _toggleSize, + decoration: const BoxDecoration( + color: _toggleBackground, + shape: BoxShape.circle, + ), child: Icon( playing ? Icons.pause_rounded : Icons.play_arrow_rounded, color: AppColors.onPrimary, diff --git a/test/player/player_center_toggle_test.dart b/test/player/player_center_toggle_test.dart index 26ed622..fdcc6d2 100644 --- a/test/player/player_center_toggle_test.dart +++ b/test/player/player_center_toggle_test.dart @@ -6,7 +6,7 @@ import 'package:fruitshorts/core/theme/app_colors.dart'; import 'package:fruitshorts/pages/player/widgets/player_center_toggle.dart'; void main() { - testWidgets('should_use_one_shared_72px_transparent_toggle_style', ( + testWidgets('should_use_one_shared_84px_translucent_toggle_style', ( tester, ) async { await tester.pumpWidget( @@ -34,16 +34,18 @@ void main() { Key('test-center-toggle-a'), Key('player-play-toggle'), ]) { - expect(tester.getSize(find.byKey(key)), const Size(72, 72)); - // 暂停按钮改为透明背景,容器已不再绘制任何底色或装饰。 - expect( + expect(tester.getSize(find.byKey(key)), const Size(84, 84)); + // 圆形底改为半透明黑色,不再是完全透明或蓝色实底。 + final container = tester.widget( find.descendant(of: find.byKey(key), matching: find.byType(Container)), - findsNothing, ); + final decoration = container.decoration! as BoxDecoration; + expect(decoration.color, Colors.black26); + expect(decoration.shape, BoxShape.circle); final icon = tester.widget( find.descendant(of: find.byKey(key), matching: find.byType(Icon)), ); - expect(icon.size, 40); + expect(icon.size, 48); expect(icon.color, AppColors.onPrimary); expect(icon.shadows, isNotNull); expect(icon.shadows, isNotEmpty);