颤动:从其兄弟中截取小部件的屏幕截图

Posted

技术标签:

【中文标题】颤动:从其兄弟中截取小部件的屏幕截图【英文标题】:flutter: taking screenshots of a widget from its sibling 【发布时间】:2020-11-12 22:02:11 【问题描述】:

目标

我有一个视图,它有两个孩子 Widget A 和 Widget B,并排站立。小部件 B 有一个按钮,可以触发小部件 A 上的屏幕截图,

问题

但是参考this one之类的问题,看来截屏的实现必须留在Widget A里面。所以Widget B中的按钮回调需要和Widget A对话。既然都是有状态的Widget,我就找到了B 很难在其状态内调用 A 的函数。

各种提供者和继承小部件机制似乎很好地处理了父子状态传播,但我不清楚如何处理兄弟姐妹。

有什么想法吗?

【问题讨论】:

您可以从树中的任何位置调用someGlobalKey.currentContext.findRenderObject(),无需从子小部件中调用 @pskink 谢谢。确实,我忘了我可以将全局键用作静态变量! 【参考方案1】:

按照@pskink 的提示回答这个问题:

只需将GlobalKey 用作全局可访问变量,例如Widget A 的静态成员,然后我们就可以在树中的任何位置引用A 的上下文。

【讨论】:

以上是关于颤动:从其兄弟中截取小部件的屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用路径提供程序包将颤动屏幕截图保存到我的桌面

无法在颤动中截取屏幕截图

当程序成为前台窗口时,我的代码会截取程序的屏幕截图。屏幕截图的时间出现了一个小问题

如何制作小部件的屏幕截图并将其粘贴到 QGraphicsView 中?

小技巧: 屏幕截图(截屏)工具如何截取(捕获)下拉菜单

在不同的资源文件中截取布局的屏幕截图