有时,我们需要防止用户与app中的某个部分进行交互
例如,假设您的app从根本上改变UI 用户可能会点击到他们不要的东西,当UI改变了用户的点击使用方式时,这实际上是一个非常常见且令人沮丧的问题。
您可以在UI发生改变时,逐一禁用app中的所有交互元素来解决此问题,或者,您可以使用IgnorePointer。
只需用IgnorePointer包住app中想要短暂保护的部分,,然指定是否要忽略即可。
IgnorePointer(
ignoring: true,
child: ...,
)
瞧!UI的这一部分现在是禁止交互的。IgnorePointer会忽略所有指针动作:点击、单击、拖动、滚动,所有动作。整个子树都是。
因此,您可以将IgnorePointer放在app中的其他内容上,这样您的app将变得完全不可用了。
void main() {
runApp(
IgnorePointer(
ignoring: true,
child: MyApp(),
),
);
}
如果想了解有关IgnorePointer的内容,或者关于Flutter的其他功能,请访问flutter.dev
原文翻译自视频:视频地址