【发布时间】:2021-10-12 01:53:24
【问题描述】:
我在互联网上对 Material 小部件在颤振中的使用进行了长期研究(我认为这是恶作剧),任何颤振开发人员都面临 No Material widget found. 异常,即使在使用 Cupertino 设计小部件时也是如此。
一个简单的例子是
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class Example extends StatelessWidget {
const Example({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text('Example'),
leading: IconButton(
onPressed: () {},
icon: Icon(
Icons.close,
color: Colors.black54,
),
),
),
child: Center(
child: IconButton(
onPressed: () {},
icon: Icon(
Icons.close,
color: Colors.black54,
),
),
),
);
}
}
navigationBar 和 body IconButton 都不起作用,导致相同的异常。
当遇到这个异常时,我总是将它包装在 Material 中以绕过它,但我认为这样做是错误的。IconButton 不是唯一的小部件,我搜索了很多都无济于事。
请告诉我我错过了什么?并提前致谢。
【问题讨论】:
-
@Faizan Darwesh 和@JaffaKetchup 没有人知道颤振不知道
MaterialApp问题是它的替换和它的后代像Material因为有很多非物质小部件取决于他们喜欢IconButton -
我也有同样的问题。当我使用
MaterialApp=>CupertinoTabScaffold并使用TextField时,它会显示像这样的错误 TextField 小部件需要由本地化小部件祖先提供 MaterialLocalizations。材料库使用本地化来生成消息、标签和缩写。。任何人有任何解决方案?谢谢。
标签: flutter material-design flutter-cupertino