【发布时间】:2020-03-31 09:39:47
【问题描述】:
每次我关注文本字段、输入或删除新字符时,都会看到“被调用”的打印。我真正的小部件树包含一个列表,其瓷砖具有动画,由于滚动位置更改后重新创建整个列表视图而无法正常工作。那么,我怎样才能仍然使用 LayoutBuilder 提供的东西,即 constraints 数据,而无需在发生某些更改后重建其整个子树?
class _AppState extends State<App> with AfterLayoutMixin<App>
{
AppCoordinator appCoordinator;
@override
Widget build(BuildContext context)
{
return Scaffold(
key: Key("sadf"),
body: new LayoutBuilder(
key: Key("sadd"),
builder: (context, constraint)
{
print("called");
return TextField(
key: Key("sad")
);
}),
);
}
}
【问题讨论】:
-
这是预期的行为。
-
@RémiRousselet 那么对于我的情况,LayoutBuilder 的替代方案是什么?
-
LayoutBuilder 或构建计数不是问题。根据您的描述,问题似乎是您的动画/列表视图
-
@RémiRousselet 目前不愿意修改动画库,通过布局构建器修复它是最简单的
-
你没有解释动画的问题是什么。