Flutter 颤振:如何在启用PanAndZoomBehaviour的同时启用syncfusion图表的滚动?
我正在使用合成图Flutter 颤振:如何在启用PanAndZoomBehaviour的同时启用syncfusion图表的滚动?,flutter,dart,syncfusion,Flutter,Dart,Syncfusion,我正在使用合成图 到目前为止,对于我的项目来说,它们有很好的功能,但是当启用PanAndZoomBehaviour时,当我尝试从它滚动时,不会注册手势。从那里的支持页面我发现这是有目的的,那么我如何才能覆盖这个图表的手势,以便启用滚动 我正在使用SingleChildScrollView在另一个页面中滚动 代码 导入“包装:颤振/材料.省道”; 导入“包:intl/intl.dart”; 进口“套装:实习2/模型/心率.省道”; 导入“package:syncfusion_flatter_cha
到目前为止,对于我的项目来说,它们有很好的功能,但是当启用
PanAndZoomBehaviour
时,当我尝试从它滚动时,不会注册手势。从那里的支持页面我发现这是有目的的,那么我如何才能覆盖这个图表的手势,以便启用滚动
我正在使用SingleChildScrollView
在另一个页面中滚动
代码
导入“包装:颤振/材料.省道”;
导入“包:intl/intl.dart”;
进口“套装:实习2/模型/心率.省道”;
导入“package:syncfusion_flatter_charts/charts.dart”;
类HeartRateNormalChart扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
最终宽度=MediaQuery.of(context).size.width;
返回容器(
儿童:SfCartesianChart(
primaryXAxis:DateTimeAxis(dateFormat:dateFormat('MMM'),),
PrimaryAxis:NumericAxis(相对位置:true),
zoomPanBehavior:zoomPanBehavior(启用Pinching:true),
tooltipBehavior:tooltipBehavior(
启用:对,
标题:“心率(bpm)”,
),
系列:[
散射级数(
动画持续时间:1500,
pointColorMapper:(心脏,u){
如果(heart.bpm<60){
返回颜色(0xffFF6262);
}否则{
返回颜色(0xff110E6B);
}
},
数据源:[
心率(月:DateTime(2020年,DateTime.2月1日),bpm:70),
心率(月:DateTime(2020年,DateTime.7月12日),bpm:72),
心率(月:DateTime(2020年,DateTime.8月15日),bpm:55),
心率(
月份:DateTime(2020年,DateTime.11月24日),bpm:65),
心率(
月份:DateTime(2020年,DateTime.12月31日),bpm:80),
],
标记设置:
标记设置(高度:宽度*0.04,宽度:宽度*0.04),
xValueMapper:(heart,)=>heart.month,
yValueMapper:(heart,)=>heart.bpm.ceil(),
启用工具提示:true,
),
]),
);
}
}
感谢您对我们的颤振图感兴趣。我们已经分析了您的场景,我们想告诉您,在以下场景中启用用户交互时,故意禁止滚动手势
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:practice2/models/heart_rate.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
class HeartRateNormalChart extends StatelessWidget {
@override
Widget build(BuildContext context) {
final width = MediaQuery.of(context).size.width;
return Container(
child: SfCartesianChart(
primaryXAxis: DateTimeAxis(dateFormat: DateFormat('MMM'),),
primaryYAxis: NumericAxis(opposedPosition: true),
zoomPanBehavior: ZoomPanBehavior(enablePinching: true),
tooltipBehavior: TooltipBehavior(
enable: true,
header: 'Heart Rate (bpm)',
),
series: <ChartSeries>[
ScatterSeries(
animationDuration: 1500,
pointColorMapper: (heart, _) {
if (heart.bpm < 60) {
return Color(0xffFF6262);
} else {
return Color(0xff110E6B);
}
},
dataSource: <HeartRate>[
HeartRate(month: DateTime(2020, DateTime.february, 1), bpm: 70),
HeartRate(month: DateTime(2020, DateTime.july, 12), bpm: 72),
HeartRate(month: DateTime(2020, DateTime.august, 15), bpm: 55),
HeartRate(
month: DateTime(2020, DateTime.november, 24), bpm: 65),
HeartRate(
month: DateTime(2020, DateTime.december, 31), bpm: 80),
],
markerSettings:
MarkerSettings(height: width * 0.04, width: width * 0.04),
xValueMapper: (heart, _) => heart.month,
yValueMapper: (heart, _) => heart.bpm.ceil(),
enableTooltip: true,
),
]),
);
}
}