未找到 MaterialLocalizations
Posted
技术标签:
【中文标题】未找到 MaterialLocalizations【英文标题】:No MaterialLocalizations found 【发布时间】:2021-03-15 19:39:55 【问题描述】:我试图在单击 BottomNavigationBarItem 按钮时显示警报对话框, 在 CupertinoTabBar 内,但它显示 No MaterialLocalizations found。
调试控制台
这个小部件的祖先是:
CupertinoApp
state: _CupertinoAppState#730fe
MyApp
state: MyAppState#064cb
代码
return CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: [
BottomNavigationBarItem(
label: "",
icon: Padding(
padding: const EdgeInsets.only(left: 10, top: 10),
child: Align(
alignment: Alignment.bottomLeft,
child: Icon(Icons.create_new_folder),
),
),
),
BottomNavigationBarItem(
label: "",
icon: Padding(
padding: const EdgeInsets.only(right: 10, top: 10),
child: Align(
alignment: Alignment.bottomRight,
child: Icon(Icons.folder_open),
),
),
)
],
currentIndex: state,
onTap: (int index)
setState(()
state = index;
);
if (index == 0)
showDialog(
context: context,
builder: (BuildContext context) => CupertinoAlertDialog(
actions: [
Text("Bye"),
],
title: Text("New Folder"),
content: Text("Folder name"),
),
);
,
),
【问题讨论】:
【参考方案1】:您可以尝试在您的主页上使用MaterialApp
包装您的整个项目。
【讨论】:
【参考方案2】:您是否将您的代表直接传递给 CupertinoApp 的本地化代表?请试试这个:
CupertinoApp(
....
....
localizationsDelegates: [
DefaultMaterialLocalizations.delegate,
DefaultCupertinoLocalizations.delegate,
DefaultWidgetsLocalizations.delegate,
],
....
....
),
【讨论】:
以上是关于未找到 MaterialLocalizations的主要内容,如果未能解决你的问题,请参考以下文章