颤振禁用整个屏幕上的触摸

时间:2019-01-16 15:57:46

标签: dart flutter

有什么方法可以防止我的屏幕接收触摸事件,我不想为我的应用中的每个小部件禁用触摸。我只想锁定该应用程序,以使其不接收触摸事件。我该怎么办?

3 个答案:

答案 0 :(得分:3)

您可以将小部件包装在AbsorbPointer中,并且不会收到任何触摸。要再次启用触摸,您可以设置absorbing: false

AbsorbPointer(
  child: YourWidget(...),
);

答案 1 :(得分:0)

答案 2 :(得分:0)

我们可以按照@Sanjayrajsinh所说的两种方式来做到

    上面给出了
  1. AbsorbPointer 使用的答案

  2. IgnorePointer

    IgnorePointer小部件,在匹配测试期间不可见。

    IgnorePointer的用法与AbsorbPointer的用法相同,并且效果相同。用法如下:

    要禁用对小部件的触摸,您需要将整个小部件包装在IgnorePointer

    如果使用IgnorePointer小部件将任何小部件包装在Flutter中,则可以启用或禁用该小部件。这意味着,如果将整个UI包装在IgnorePointer窗口小部件中,则可以通过切换IgnorePointer窗口小部件的“ 忽略”属性来控制该UI上的用户交互。如果“忽略”为真,则IgnorePointer窗口小部件会吸收该窗口小部件的子级中的所有交互,并以某种方式禁用它。

    IgnorePointer(
      child: Container(...),
    ),