【问题标题】:FloatingActionButton onPressed not triggeringFloatingActionButton onPressed 未触发
【发布时间】:2023-03-19 20:08:01
【问题描述】:

希望这里是一个简单的。

我有动画的浮动按钮。它们似乎没有触发我的 onPressed 代码,只是似乎什么都不做,尽管我确实在日志中得到了“ViewPostImeInputStage processPointer 0”和 1 类事件。

一个按钮:

Widget dice() {
  return Container(
    child: FloatingActionButton(
      elevation: 5.0,
      backgroundColor: Theme.of(context).accentColor,
      heroTag: null,
      onPressed: _rollDice,
      tooltip: 'Inbox',
      child: SizedBox(
        height: 32,
        width: 32,
        child: Image.asset('lib/images/dice_button.png'),
      ),
    ),
  );
}

应该触发的方法:

_rollDice() {
  print('Dice pressed');
  int rng = new Random().nextInt(20);
  print(rng.toString());
}

按键三下的输出:

D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 0
D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 1
D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 0
D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 1
D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 0
D/ViewRootImpl@b9525ac[MainActivity](11404): ViewPostImeInputStage processPointer 1

预期输出:

Dice pressed
11
Dice pressed
2
Dice pressed
18

我在这里做什么傻事?

【问题讨论】:

  • 没有人吗? :( 真的需要帮助。
  • 我刚刚测试了您的代码,它在我的设备上运行良好。尝试正确构建它而不是热重载尝试热重启。

标签: flutter floating-action-button


【解决方案1】:

这里的问题是它是一个被转换的按钮。虽然这应该完全没有区别,但是关于这个确切的问题有大量的线程。如果您通过将按钮转换到新位置来移动按钮,则该按钮的可点击区域将保留在其原始位置。

是的,我说得对。如果您在屏幕左上角有一个按钮,并且您将其转换为右下角,您将无法再在其新位置单击该按钮,因为该按钮认为它仍在左上角。

这绝对是迟钝和不可行的。

对我来说,解决方法是在目标位置覆盖一些不可见的不透明小部件,并在这些小部件上触发 onclick 事件。我看到一个开发人员的帖子称这个巨大的错误“按预期工作”,所以不要指望这个问题会很快得到修复,即使看起来整个社区都在呼吁它。

【讨论】:

    【解决方案2】:

    如果你在AnimatedBuider 中使用Stack,那么用一个大的Container 包裹它。一个 200x200 的容器适用于我的情况。大小取决于您的过渡。 此外,您可以通过更改堆栈的alignment 属性将按钮放置在任何位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多