从iOS开发与正在添加快捷我能够提出具有跨期模态溶解的动画和清晰的背景显示是什么当前视图后面,将其模糊化,仿佛像一个弹出窗口,我怎么能在颤振实现这一目标?我使用Fluro导航到下一个视图,淡入过渡效果,但当我将容器和材质小部件颜色更改为透明时,背景为黑色.
我如何导航到下一页:
__PRE__
过滤页面代码:
__PRE__
**更新**
我得到了我的目标,但是有一个很大的问题.我将过滤器小部件和主容器小部件放在一个__CODE__
小部件中,将过滤器小部件置于顶部,但最初的不透明度为0.我想要的效果完美但现在我无法与它下面的小部件进行交互,因为它完全覆盖了另一个小部件......
码:
__PRE__
cre*_*not 49
你可以解决你的问题的互动(不能够与互动Widget
下方的模糊图像)的周围BackdropFilter
用IgnorePointer
.
这意味着这IgnorePointer
是解决方案,因为它将忽略Widget
作为其子传递的所有触摸事件.
IgnorePointer(child: BackdropFilter(...),)
Run Code Online (Sandbox Code Playgroud)
您可以通过更改以下bool
值来调整此属性ignoring
:
IgnorePointer(ignoring: false, ...)
Run Code Online (Sandbox Code Playgroud)
这将再次启用所有触摸事件.
这里有一些有趣的东西,但与问题无关,可用于反映其子项上发生的所有触摸事件.AbsorbPointer
Widget
Cop*_*oad 10
您可以使用IgnorePointer
或AbsorbPointer
。
范例(IgnorePointer
)
IgnorePointer(
child: RaisedButton(
onPressed: () {},
child: Text("Unclickable button"),
),
);
Run Code Online (Sandbox Code Playgroud)
范例(AbsorbPointer
)
AbsorbPointer(
child: RaisedButton(
onPressed: () {},
child: Text("Unclickable button"),
),
);
Run Code Online (Sandbox Code Playgroud)
有什么不同?
如果您的主窗口小部件下面有一个也可以接收点击事件IgnorePointer
的窗口小部件,并且您在父窗口小部件上使用,则子窗口小部件仍将接收点击事件。
但是AbsorbPointer
在主窗口小部件上使用将不允许其他窗口小部件(在主窗口小部件下方)接收其点击事件。
显示差异的示例。
@override
Widget build(BuildContext context) {
return SizedBox(
width: double.infinity,
child: Stack(
children: <Widget>[
Positioned(
left: 0,
width: 250,
child: RaisedButton(
color: Colors.red,
onPressed: () => print("Button 1"),
child: Text("Button 1"),
),
),
Positioned(
right: 0,
width: 250,
child: IgnorePointer( // replace this with AbsorbPointer and button 1 won't receive click
child: RaisedButton(
onPressed: () => print("Button 2"),
child: Text("Button 2"),
),
),
),
],
),
);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8505 次 |
最近记录: |