[英]How to selectively blur widgets in a child Stack in Flutter?
我看了Flutter Issues,这就是我要的东西: https : //github.com/flutter/flutter/issues/13489
我有2个圆形的小部件。 它们排列成一个堆栈,并像维恩图一样放置,从而它们彼此部分重叠:
final vennDiagram = Stack(
children: [
leftCircle,
rightCircle,
],
);
我想给它们添加一个很好的模糊“阴影”,所以我制作了它们的副本,并将该副本放在另一个Stack中,然后应用模糊(请参阅参考资料 )。 我现在有:
Stack(
children: [
vennDiagramShadow, // essentially an offset copy of `vennDiagram`
blur, // BackdropFilter
vennDiagram,
],
)
这看起来很棒-我的Venn图具有清晰的边缘,并且背景中有模糊的“阴影”。
但是,现在让我说,我希望每个小部件都负责其自己的“模糊阴影”效果-例如,我希望第一个圆圈的阴影更加模糊(例如,用户轻敲维恩图的一侧)。 我现在重构为:
final vennDiagram = Stack(
children: [
Stack(children: [leftCircleShadow, extraBlur, leftCircle]),
Stack(children: [rightCircleShadow, blur, rightCircle]),
],
);
这会导致rightCircle下方的所有内容都blur
,因为在Stack中, blur
。 覆盖leftCircle。 实际上,我只希望rightCircleShadow
受blur
影响。
如何仅在“本地”堆栈中选择性模糊小部件? 而不是父堆栈?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.