用键替换堆栈中的小部件
Posted
技术标签:
【中文标题】用键替换堆栈中的小部件【英文标题】:Replace Widget in Stack with Keys 【发布时间】:2020-02-11 13:15:53 【问题描述】:在 Flutter Stack 文档中,您可以使用 Keys 替换 Stack Widget 中的 Widget。您可以在 key 属性中使用 GlobalKeys。问题是,我不知道如何使用键来替换 Stack Widget 中的 Widget。我想得到一个完整的例子,用他们的 GlobalKey 替换堆栈中的一个小部件。
【问题讨论】:
你能发布你到目前为止尝试过的代码吗?以便人们可以帮助您更正您的代码。 我想替换堆栈小部件中的一个小部件 所以用新的子列表重建你的Stack
我想用按钮替换小部件
【参考方案1】:
它不适用于小部件位置
控制一个小部件如何替换树中的另一个小部件。
根据您的情况使用定位小部件
一个控制堆栈子级位置的小部件。
如果您需要小部件的位置来设置另一个小部件位置,您可以使用第一个键,如下所示
final keyContext = fisrtWidgetKey.currentContext;
if (keyContext != null)
box = keyContext.findRenderObject();
if (box != null) pos = box.localToGlobal(Offset.zero);
pos 包含您传递给它的小部件的 dx 和 dy 键
【讨论】:
以上是关于用键替换堆栈中的小部件的主要内容,如果未能解决你的问题,请参考以下文章