主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
当前回答
添加材质小部件作为根元素。
@override
Widget build(BuildContext context) {
return Material(
type: MaterialType.transparency,
child: new Container(
其他回答
使用DefaultTextStyle()小部件设置文本的文本样式。
DefaultTextStyle(
style: kTempTextStyle,
child: Text('Hello world'),
)
你可以给你自己的文本样式,因为你想。
const kTempTextStyle = TextStyle(
fontFamily: 'Spartan MB',
fontSize: 100.0,
decoration: null,
);
你应该在main中添加Material和Scaffold部件。飞镖文件
MaterialApp(
home: Scaffold(
body: Text('Hello world'),
),
);
之前
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(
child: Text(
"21:34",
style: TextStyle(fontSize: 50),
),
),
Center(
child: Text(
"Wakey - wakey",
style: TextStyle(fontSize: 20),
),
)
],
);
}
后(解决方案):
这里用脚手架小部件包装当前顶部或父小部件
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(
child: Text(
"21:34",
style: TextStyle(fontSize: 50),
),
),
Center(
child: Text(
"Wakey - wakey",
style: TextStyle(fontSize: 20),
),
)
],
),
);
}
完整代码:Dartpad或Live代码
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(home: sta()));
class sta extends StatefulWidget {
const sta({Key? key}) : super(key: key);
@override
State<sta> createState() => _staState();
}
var isShow = false;
class _staState extends State<sta> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(
child: Text(
"21:34",
style: TextStyle(fontSize: 50),
),
),
Center(
child: Text(
"Wakey - wakey",
style: TextStyle(fontSize: 20),
),
)
],
),
);
}
}
只是给这些答案加上了另一种方式。
将根小部件包装在DefaultTextStyle小部件周围。这里不需要修改每个Text小部件。
DefaultTextStyle(
style: TextStyle(decoration: TextDecoration.none),
child : Your_RootWidget
)
希望它能帮助到别人。
我推荐这种方法,因为你可以做一次,它将覆盖你的整个应用程序。
在MaterialApp的构建器下添加DefaultTextStyle,如下所示:
child: MaterialApp(
...
...
theme: yourThemeData,
builder: (context, child) => DefaultTextStyle(
style: yourThemeData.textTheme.bodyText1,
child: child,
),
),
通过这样做,我们不需要每次使用showDialog或Overlay时都指定样式或使用DefaultTextTheme。