From 7ae58e98e6f019426b1fb475ca723b13ff8d4394 Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 19 Jan 2026 21:30:41 -0800 Subject: [PATCH] =?UTF-8?q?debug:=20=E6=B7=BB=E5=8A=A0=E5=B9=B3=E7=A7=BB?= =?UTF-8?q?=E8=B0=83=E8=AF=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/widgets/kline_chart/kline_chart_widget.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/mining-app/lib/presentation/widgets/kline_chart/kline_chart_widget.dart b/frontend/mining-app/lib/presentation/widgets/kline_chart/kline_chart_widget.dart index 3c2150cb..ad7d0568 100644 --- a/frontend/mining-app/lib/presentation/widgets/kline_chart/kline_chart_widget.dart +++ b/frontend/mining-app/lib/presentation/widgets/kline_chart/kline_chart_widget.dart @@ -537,12 +537,17 @@ class _KlineChartWidgetState extends State { _userHasPanned = true; // 缩放后也标记为已操作 } else if (_startFocalPoint != null) { // 单指平移 + // dx > 0 向右滑(看更早历史),dx < 0 向左滑(看更新数据) final dx = details.focalPoint.dx - _startFocalPoint!.dx; // 最大滚动位置:让最新K线在屏幕中心 final int halfScreenCount = (_chartWidth / 2 / _candleWidth).ceil(); final double maxScroll = math.max(0.0, (widget.klines.length - halfScreenCount) * _candleWidth); + // 向右滑 dx>0,scrollX 减小,显示更早的数据 _scrollX = (_startScrollX - dx).clamp(0.0, maxScroll); _userHasPanned = true; + + // DEBUG: 打印滚动信息 + debugPrint('Pan: dx=$dx, scrollX=$_scrollX, maxScroll=$maxScroll, startIndex=${(_scrollX / _candleWidth).floor()}'); } }); }