【问题标题】: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
  • 我想用按钮替换小部件

标签: flutter dart


【解决方案1】:

它不适用于小部件位置

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

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

一个控制堆栈子级位置的小部件。

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

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

pos 包含您传递给它的小部件的 dx 和 dy 键

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2022-11-08
    • 2021-12-04
    相关资源
    最近更新 更多