有什么方法可以防止我的屏幕接收触摸事件,我不想为我的应用中的每个小部件禁用触摸。我只想锁定该应用程序,以使其不接收触摸事件。我该怎么办?
答案 0 :(得分:3)
您可以将小部件包装在AbsorbPointer
中,并且不会收到任何触摸。要再次启用触摸,您可以设置absorbing: false
AbsorbPointer(
child: YourWidget(...),
);
答案 1 :(得分:0)
在此处检查差异:
答案 2 :(得分:0)
我们可以按照@Sanjayrajsinh所说的两种方式来做到
AbsorbPointer 使用的答案
IgnorePointer
IgnorePointer
小部件,在匹配测试期间不可见。
IgnorePointer的用法与AbsorbPointer的用法相同,并且效果相同。用法如下:
要禁用对小部件的触摸,您需要将整个小部件包装在IgnorePointer
如果使用IgnorePointer
小部件将任何小部件包装在Flutter中,则可以启用或禁用该小部件。这意味着,如果将整个UI包装在IgnorePointer窗口小部件中,则可以通过切换IgnorePointer
窗口小部件的“ 忽略”属性来控制该UI上的用户交互。如果“忽略”为真,则IgnorePointer窗口小部件会吸收该窗口小部件的子级中的所有交互,并以某种方式禁用它。
IgnorePointer(
child: Container(...),
),