2

我使用fl_chart ^0.10.1显示了一个折线图(在 Flutter ver 上测试52.2.1 & 53.0.1)。我正在从 csv 文件更新 FlSpots。

Spot如果我触摸情节中的某个地方,我正在尝试获取索引或对象。touchResponse但是如果我触摸(点击或长按)某处,我会得到一个空列表。

安慰

但我在情节本身中得到了价值。我假设它在那里是因为内置的触摸处理程序。 阴谋

我正在尝试的代码:

              lineTouchData: LineTouchData(
                          touchCallback: (LineTouchResponse touchResponse) {
                        if (touchResponse.touchInput is FlPanEnd ||
                            touchResponse.touchInput is FlLongPressEnd) {
                          var spots = touchResponse.lineBarSpots;
                          setState(() {
                            var lengthList = spots.length;
                            print(
                                'touched spot---> ${spots.toString()},,,len--->$lengthList');
                          });
                        } else {
                          print('wait');
                        }
                      }),

我的最终目标是使用并传递触摸的索引来打开一个新的屏幕/小部件。

4

1 回答 1

0
touchCallback: (LineTouchResponse? lineTouch) {
    final value = lineTouch.lineBarSpots![0].x;
    // set state...
});

它在 github 中 fl_chart 的演示中。

https://github.com/imaNNeoFighT/fl_chart/blob/master/example/lib/line_chart/samples/line_chart_sample3.dart

于 2021-09-27T11:39:12.693 回答