showDatePicker 'No MaterialLocalizations found.' 就在我使用语言环境时
showDatePicker 'No MaterialLocalizations found.' Just When I Use Locale
我正在使用 showDatePicker,它工作正常,它位于 MaterialApp 小部件之外的脚手架内,但就在我给它设置语言环境时 属性 它显示此错误 No MaterialLocalizations found.
我该如何解决它。
onPressed: () async {
String timeMsg = 'اختر التوقيت';
DateTime? _selectDate = await showDatePicker(
context: context,
locale: Locale('ar'),
initialDate: from
firstDate: first,
lastDate: new DateTime.now(),
);
}
如果我说错了请纠正我。你的意思是你要在脚手架中调用 showDatePicker 而这个脚手架不在 MaterialApp 中吗?
一般来说,MaterialApp 和 CupertinoApp 应该负责管理语言环境,查看 this page 了解更多详情。 Context 用于定位小部件树中的每个小部件。在您的 DatePickerDialog 中,如果找不到任何祖先小部件来为给定的上下文提供 MaterialLocalizations,它将始终引发此错误。
Afaik,将它放在 MaterialApp 中是最好的选择。您可以将它放在一个新的 MaterialApp 中,或者只是将您的脚手架移动到现有的 MaterialApp 中。第二个总是首选,因为当你还在学习如何使用 flutter 时,你不会喜欢与多个导航器打交道。
我正在使用 showDatePicker,它工作正常,它位于 MaterialApp 小部件之外的脚手架内,但就在我给它设置语言环境时 属性 它显示此错误 No MaterialLocalizations found.
我该如何解决它。
onPressed: () async {
String timeMsg = 'اختر التوقيت';
DateTime? _selectDate = await showDatePicker(
context: context,
locale: Locale('ar'),
initialDate: from
firstDate: first,
lastDate: new DateTime.now(),
);
}
如果我说错了请纠正我。你的意思是你要在脚手架中调用 showDatePicker 而这个脚手架不在 MaterialApp 中吗?
一般来说,MaterialApp 和 CupertinoApp 应该负责管理语言环境,查看 this page 了解更多详情。 Context 用于定位小部件树中的每个小部件。在您的 DatePickerDialog 中,如果找不到任何祖先小部件来为给定的上下文提供 MaterialLocalizations,它将始终引发此错误。
Afaik,将它放在 MaterialApp 中是最好的选择。您可以将它放在一个新的 MaterialApp 中,或者只是将您的脚手架移动到现有的 MaterialApp 中。第二个总是首选,因为当你还在学习如何使用 flutter 时,你不会喜欢与多个导航器打交道。