在Flutter Stack文档中,您可以使用Keys替换Stack Widget中的Widget。您可以在key属性中使用GlobalKeys。问题是,我不知道如何使用键替换堆栈小部件中的小部件。我想得到一个完整的示例,用它们GlobalKey替换堆栈中的小部件。
不适用于小部件位置
控制一个小部件如何替换树中的另一个小部件。
根据您的情况使用定位的小部件
控制堆栈的子项放置位置的小部件。
如果您需要小部件的位置来设置另一个小部件位置,则可以使用第一个键,如下所示
final keyContext = fisrtWidgetKey.currentContext;
if (keyContext != null) {
box = keyContext.findRenderObject();
if (box != null) pos = box.localToGlobal(Offset.zero);
}
pos包含您已传递其键的小部件的dx和dy
我在这个答案中搜索了很长时间,然后在这里找到了它:https://medium.com/flutter-community/widget-tricks-reorder-widgets-on-a-stack-3f8c2d220dfe