FlChart LineTouchTooltipData 动态背景色

问题描述 投票:0回答:1

我想使用

fl_chart
创建折线图,并且我需要工具提示背景根据触摸点更改颜色 例如颜色应该用这种方法确定

  Color _getColor(List<int> intervals, double value) {
    if (value >= intervals[0] && value < intervals[1]) {
      return AppConstants.greenColor;
    } else if (value >= intervals[1] && value < intervals[2]) {
      return AppConstants.yellowColor;
    }
    return AppConstants.redColor;
  }

当前代码:

LineTouchData(

                  touchTooltipData: LineTouchTooltipData(
                    tooltipBgColor: Colors.red,
                    fitInsideHorizontally: true,
                    fitInsideVertically: true,
                    tooltipRoundedRadius: 100,
                    getTooltipItems: (touchedSpots) {
                      return touchedSpots
                          .map(
                            (e) => LineTooltipItem(
                              e.y.toString(),
                              const TextStyle(),
                            ),
                          )
                          .toList();
                    },
                  ),
                ),
flutter fl-chart
1个回答
0
投票

在最新版本的 fl_chart 中,用于背景框颜色的参数是:

getTooltipColor: (touchedSpot) => _getColor(intervals, value)

这意味着您的完整代码将是:

LineTouchData(
  touchTooltipData: LineTouchTooltipData(
  getTooltipColor: (touchedSpot) => _getColor(intervals, value),
  fitInsideHorizontally: true,
  fitInsideVertically: true,
  tooltipRoundedRadius: 100,
  getTooltipItems: (touchedSpots) {
    return touchedSpots
      .map(
        (e) => LineTooltipItem(
          e.y.toString(),
          const TextStyle(),
        ),
      )
      .toList();
    },
  ),
),
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.