Inter Widget通讯
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Inter Widget通讯相关的知识,希望对你有一定的参考价值。
是否可以通过通知/事件总线等方式进行小部件间通信?
我需要能够告诉一个小部件对另一个小部件发生的事情作出反应并且不想创建硬链接。
只有在窗口小部件树中它比两个窗口小部件更高时,通知监听器才会触发,因此这可能不是一个可行的解决方案。
根据您的使用情况,有很多方法可以做到这一点。
你可以让它们是AnimatedWidget
s,通过ValueNotifier
或ChangeNotifier
作为listenable
。你可以在Gallery的animation example中看到这种模式。
当StreamBuilder
上有新事件发生时,您可以使用Stream
让您的小部件自动重建。在主要的Flutter仓库中没有很多这样的例子,但是一旦你开始使用插件或进行网络I / O,你就可能需要它。
您可以使用GlobalKey
来获取currentState
并在另一方面使用一个State
调用方法。这就是小吃店的工作方式(example)。
您还可以扩展InheritedWidget
以提供未作为构造函数参数传递的信息的小部件,并且当信息更改时,它们将自动标记为重建。例如,这就是Theme
s的工作方式。
如果您可以提供有关您的小部件的功能/他们的关系的更多详细信息,或者理想情况下是一个代码段,我可以帮助您确定哪种方法最适合您的情况。
以上是关于Inter Widget通讯的主要内容,如果未能解决你的问题,请参考以下文章
无法将整数强制转换为android.support.design.widget.FloatingActionButton