diff --git a/frontend/mobile-app/lib/features/profile/presentation/widgets/team_tree_widget.dart b/frontend/mobile-app/lib/features/profile/presentation/widgets/team_tree_widget.dart index 805d4f86..1894256c 100644 --- a/frontend/mobile-app/lib/features/profile/presentation/widgets/team_tree_widget.dart +++ b/frontend/mobile-app/lib/features/profile/presentation/widgets/team_tree_widget.dart @@ -79,19 +79,22 @@ class _TeamTreeWidgetState extends State { static const double nodeHorizontalSpacing = 12.0; static const double nodeVerticalSpacing = 40.0; + // 当前容器宽度(由 LayoutBuilder 传递) + double _containerWidth = 0; + @override Widget build(BuildContext context) { return LayoutBuilder( builder: (context, constraints) { // 使用实际容器宽度而不是屏幕宽度 - final containerWidth = constraints.maxWidth; + _containerWidth = constraints.maxWidth; return SingleChildScrollView( scrollDirection: Axis.horizontal, child: SingleChildScrollView( child: ConstrainedBox( constraints: BoxConstraints( - minWidth: containerWidth, + minWidth: _containerWidth, ), child: Center( child: Padding( @@ -110,9 +113,9 @@ class _TeamTreeWidgetState extends State { Widget _buildTreeLevel(List nodes, int level) { if (nodes.isEmpty) return const SizedBox.shrink(); - // 计算屏幕可以显示的最大节点数 - final screenWidth = MediaQuery.of(context).size.width - 32; // 减去左右padding - final maxVisibleNodes = ((screenWidth + nodeHorizontalSpacing) / (nodeWidth + nodeHorizontalSpacing)).floor(); + // 使用容器实际宽度计算最大节点数(减去 padding) + final availableWidth = _containerWidth - 16; // 减去左右 padding (8*2) + final maxVisibleNodes = ((availableWidth + nodeHorizontalSpacing) / (nodeWidth + nodeHorizontalSpacing)).floor().clamp(1, 100); // 分离需要显示的节点和隐藏的节点 List visibleNodes; diff --git a/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart b/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart index 67f41e06..e07abdec 100644 --- a/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart +++ b/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart @@ -262,7 +262,7 @@ class _TradingPageState extends ConsumerState { // 分隔线 _buildDivider(), const SizedBox(height: 24), - // 提款/转账按钮 + // 提取/转动按钮 _buildWithdrawButton(), const SizedBox(height: 8), // USDT余额显示 @@ -518,7 +518,7 @@ class _TradingPageState extends ConsumerState { ); } - /// 构建提款/转账按钮 + /// 构建提取/转动按钮 /// 当 USDT 余额为 0 时禁用 Widget _buildWithdrawButton() { // 余额为0时禁用 @@ -560,7 +560,7 @@ class _TradingPageState extends ConsumerState { ), const SizedBox(width: 8), Text( - '提款 / 转账', + '提取 / 转动', style: TextStyle( fontSize: 16, fontFamily: 'Inter',