fix(profile): 修复伞下树图居中问题;更名提款/转账为提取/转动

- 使用 LayoutBuilder 获取实际容器宽度计算节点显示
- 修改兑换页面按钮文字从"提款/转账"改为"提取/转动"

🤖 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-15 04:28:58 -08:00
parent 4d6ce3ce08
commit 7db38114d9
2 changed files with 11 additions and 8 deletions

View File

@ -79,19 +79,22 @@ class _TeamTreeWidgetState extends State<TeamTreeWidget> {
static const double nodeHorizontalSpacing = 12.0; static const double nodeHorizontalSpacing = 12.0;
static const double nodeVerticalSpacing = 40.0; static const double nodeVerticalSpacing = 40.0;
// LayoutBuilder
double _containerWidth = 0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return LayoutBuilder( return LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
// 使 // 使
final containerWidth = constraints.maxWidth; _containerWidth = constraints.maxWidth;
return SingleChildScrollView( return SingleChildScrollView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
child: SingleChildScrollView( child: SingleChildScrollView(
child: ConstrainedBox( child: ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
minWidth: containerWidth, minWidth: _containerWidth,
), ),
child: Center( child: Center(
child: Padding( child: Padding(
@ -110,9 +113,9 @@ class _TeamTreeWidgetState extends State<TeamTreeWidget> {
Widget _buildTreeLevel(List<TeamTreeNode> nodes, int level) { Widget _buildTreeLevel(List<TeamTreeNode> nodes, int level) {
if (nodes.isEmpty) return const SizedBox.shrink(); if (nodes.isEmpty) return const SizedBox.shrink();
// // 使 padding
final screenWidth = MediaQuery.of(context).size.width - 32; // padding final availableWidth = _containerWidth - 16; // padding (8*2)
final maxVisibleNodes = ((screenWidth + nodeHorizontalSpacing) / (nodeWidth + nodeHorizontalSpacing)).floor(); final maxVisibleNodes = ((availableWidth + nodeHorizontalSpacing) / (nodeWidth + nodeHorizontalSpacing)).floor().clamp(1, 100);
// //
List<TeamTreeNode> visibleNodes; List<TeamTreeNode> visibleNodes;

View File

@ -262,7 +262,7 @@ class _TradingPageState extends ConsumerState<TradingPage> {
// 线 // 线
_buildDivider(), _buildDivider(),
const SizedBox(height: 24), const SizedBox(height: 24),
// / // /
_buildWithdrawButton(), _buildWithdrawButton(),
const SizedBox(height: 8), const SizedBox(height: 8),
// USDT余额显示 // USDT余额显示
@ -518,7 +518,7 @@ class _TradingPageState extends ConsumerState<TradingPage> {
); );
} }
/// / /// /
/// USDT 0 /// USDT 0
Widget _buildWithdrawButton() { Widget _buildWithdrawButton() {
// 0 // 0
@ -560,7 +560,7 @@ class _TradingPageState extends ConsumerState<TradingPage> {
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Text(
'款 / 转账', '取 / 转动',
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 16,
fontFamily: 'Inter', fontFamily: 'Inter',