【发布时间】:2019-11-18 16:06:56
【问题描述】:
项目
嗨, 我用颤振创建了一个简单的应用程序,它可以根据用户垂直拖动使用流构建器更改容器的高度。
因此,由于用户输入更新非常快,这会迫使 streambuider 重新构建多次,从而创建动画效果。
代码
final StreamController streamController = StreamController<double>();
double height = 0.0;
StreamBuilder(
initialData: 0.0,
stream: streamController.stream,
builder: (context, snapshot) {
return Container(
height: snapshot.data,
);
},
),
....
height += (dragUpdateDY);
streamController.add(height);
问题
尽管代码按预期工作,但我一直认为这不是一个好的解决方案,因为它会迫使 UI 在一秒钟内重建不可预测的时间,甚至可能超过 60 次,超过显示刷新率。
有没有更好的办法?
【问题讨论】:
标签: flutter dart flutter-animation