Flutter 水平滚动图表的性能很差
我想实现一个水平滚动的折线图。问题是当使用下面的代码时,性能相当差。可能是因为整个图表都被渲染了 是否有方法仅渲染所示图表中的零件?还是有更好的方法Flutter 水平滚动图表的性能很差,flutter,dart,charts,Flutter,Dart,Charts,我想实现一个水平滚动的折线图。问题是当使用下面的代码时,性能相当差。可能是因为整个图表都被渲染了 是否有方法仅渲染所示图表中的零件?还是有更好的方法 @覆盖 小部件构建(构建上下文){ 返回SingleChildScrollView( 物理:弹跳CrollPhysics(), 滚动方向:轴水平, 孩子:定制油漆( 尺寸:尺寸(2000200), 画家:图表画家(点), ), ); } 我可以解决这个问题,但必须用不同的方法来解决。取而代之的是一个宽的图表,它也必须在视图之外渲染,我将chartp
@覆盖
小部件构建(构建上下文){
返回SingleChildScrollView(
物理:弹跳CrollPhysics(),
滚动方向:轴水平,
孩子:定制油漆(
尺寸:尺寸(2000200),
画家:图表画家(点),
),
);
}
我可以解决这个问题,但必须用不同的方法来解决。取而代之的是一个宽的图表,它也必须在视图之外渲染,我将chartpainer
更改为只绘制可见的点。我添加了“滚动”行为,通过监听控制器并将位置传递给ChartPainter
,这将比使用位置一致地移动点更有效
@覆盖
void initState(){
super.initState();
最终控制器=widget.controller;
controller.addListener(){
if(控制器位置尺寸){
设置状态(){
offsetX=-controller.position.pixels;
});
}
});
}
@凌驾
小部件构建(构建上下文){
返回SingleChildScrollView(
物理:弹跳CrollPhysics(),
滚动方向:轴水平,
子项:SizedBox.expand(
定制油漆(
绘制者:图表绘制者(点、偏移量),
),
),
);
}