用键替换堆栈中的小部件

问题描述 投票:0回答:2

在Flutter Stack文档中,您可以使用Keys替换Stack Widget中的Widget。您可以在key属性中使用GlobalKeys。问题是,我不知道如何使用键替换堆栈小部件中的小部件。我想得到一个完整的示例,用它们GlobalKey替换堆栈中的小部件。

flutter dart
2个回答
0
投票

不适用于小部件位置

控制一个小部件如何替换树中的另一个小部件。

根据您的情况使用定位的小部件

控制堆栈的子项放置位置的小部件。

如果您需要小部件的位置来设置另一个小部件位置,则可以使用第一个键,如下所示

  final keyContext = fisrtWidgetKey.currentContext;
  if (keyContext != null) {
    box = keyContext.findRenderObject();
    if (box != null) pos = box.localToGlobal(Offset.zero);
  }

pos包含您已传递其键的小部件的dx和dy


0
投票

我在这个答案中搜索了很长时间,然后在这里找到了它:https://medium.com/flutter-community/widget-tricks-reorder-widgets-on-a-stack-3f8c2d220dfe

© www.soinside.com 2019 - 2024. All rights reserved.