fix(mobile-app): 修复火柴人容器宽度与其他组件不一致

- 移除火柴人容器的水平margin,与页面其他内容保持一致
- 重新计算火柴人位置,正确处理容器边距

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-23 03:27:43 -08:00
parent fd9df5d065
commit 63cf52b9c1
1 changed files with 7 additions and 6 deletions

View File

@ -82,7 +82,7 @@ class _StickmanRaceWidgetState extends State<StickmanRaceWidget>
}
return Container(
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
margin: const EdgeInsets.only(bottom: 16),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: const Color(0x80FFFFFF),
@ -238,13 +238,14 @@ class _StickmanRaceWidgetState extends State<StickmanRaceWidget>
//
final bounce = _bounceController.value * 3;
// - (20) - (80) - (60)
final containerWidth = MediaQuery.of(context).size.width - 32; //
final availableWidth = containerWidth - 20 - 80 - 60; // - -
final leftPosition = 20 + availableWidth * horizontalProgress;
// - padding(32) - padding(32) - (60) - (60)
final screenWidth = MediaQuery.of(context).size.width;
final containerWidth = screenWidth - 32 - 32; // padding + padding
final availableWidth = containerWidth - 60 - 60; // -
final leftPosition = availableWidth * horizontalProgress;
return Positioned(
left: leftPosition.clamp(20.0, containerWidth - 80), //
left: leftPosition.clamp(0.0, availableWidth), //
top: verticalPosition - bounce,
child: Column(
mainAxisSize: MainAxisSize.min,