在Flutter中,可以通过给每个MaterialApp设置不同的key来标记它们。例如:

MaterialApp(
  key: UniqueKey(),
  ...
)

这样,每个MaterialApp都有一个唯一的key,可以用来区分它们。

如果你需要在代码中获取一个MaterialApp的key,可以使用BuildContext的findAncestorWidgetOfExactType方法来查找它的父级MaterialApp,并获取它的key。例如:

final materialApp = context.findAncestorWidgetOfExactType<MaterialApp>();
final key = materialApp?.key;

这样就可以获取到当前BuildContext所在的MaterialApp的key了。

Flutter 有多个MaterialApp的时候如何标记不同的MaterialApp以及如何区分他们呢我可以通过context来获得这个key吗?

原文地址: https://www.cveoy.top/t/topic/deUu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录