getBarTouchData method
Implementation
BarTouchData getBarTouchData(BuildContext buildContext) {
return BarTouchData(
enabled: true,
touchTooltipData: BarTouchTooltipData(
getTooltipColor: (group) => Colors.orangeAccent,
tooltipPadding: const EdgeInsets.all(0),
tooltipMargin: 8,
getTooltipItem: (
BarChartGroupData group,
int groupIndex,
BarChartRodData rod,
int rodIndex,
) {
String? tooltip;
if (controller.tooltip != null) {
Map<String, dynamic> initialContext = {};
initialContext['x'] = group.x;
initialContext['label'] = controller.labels[group.x];
initialContext['y'] = rod.toY;
initialContext['this'] = this;
initialContext['index'] = rodIndex;
initialContext['title'] = controller.title;
DataContext dataContext = DataContext(
buildContext: buildContext, initialMap: initialContext);
tooltip = dataContext.eval(controller.tooltip);
}
tooltip ??=
controller.labels[group.x] + ':' + rod.toY.round().toString();
return BarTooltipItem(
tooltip,
const TextStyle(
color: Colors.blueGrey,
fontWeight: FontWeight.bold,
),
);
},
),
);
}