主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
当前回答
你也可以把你的脚手架作为你的MaterialApp的家。这对我很管用。
return MaterialApp(
home: Scaffold(
body: Container(
child: SingleChildScrollView(child: Text('Test')),
),
),
);
其他回答
问题是有没有脚手架。 Scaffold是材料应用程序(AppBar, Drawer之类的东西)的助手。但你并没有被迫使用Material。
你缺少的是一个DefaultTextStyle的父实例:
DefaultTextStyle(
style: TextStyle(...),
child: Text('Hello world'),
)
各种小部件添加一个来更改默认的文本主题,如脚手架,对话框,AppBar, ListTile,…
它是DefaultTextStyle,它允许你的应用栏标题在默认情况下加粗。
添加材质小部件作为根元素。
@override
Widget build(BuildContext context) {
return Material(
type: MaterialType.transparency,
child: new Container(
我推荐这种方法,因为你可以做一次,它将覆盖你的整个应用程序。
在MaterialApp的构建器下添加DefaultTextStyle,如下所示:
child: MaterialApp(
...
...
theme: yourThemeData,
builder: (context, child) => DefaultTextStyle(
style: yourThemeData.textTheme.bodyText1,
child: child,
),
),
通过这样做,我们不需要每次使用showDialog或Overlay时都指定样式或使用DefaultTextTheme。
问题:你的小部件没有默认的文本样式,
解决办法:把它包起来!
DefaultTextStyle(
style: TextStyle(),
child: yourWidget,
);
记住,如果你不设置任何颜色,默认文本颜色是白色!
文本样式有一个可以设置为none的装饰参数
Text("My Text",
style: TextStyle(
decoration: TextDecoration.none,
)
);
另外,正如其他人提到的,如果你的文本小部件在脚手架或材料小部件的树中,你就不需要装饰文本样式了。